diff options
author | syphyr <syphyr@gmail.com> | 2019-10-21 02:03:44 +0200 |
---|---|---|
committer | syphyr <syphyr@gmail.com> | 2019-11-10 20:56:35 +0100 |
commit | e89234ca13ff0807858ba8088cc7eb3db67809fd (patch) | |
tree | cd4daf5498c66694e254c8f9c9e59183ee6dc832 | |
parent | c223a933811884412f02719d382ea1bef4c7c2f1 (diff) | |
download | android_packages_apps_LockClock-cm-14.1.tar.gz android_packages_apps_LockClock-cm-14.1.tar.bz2 android_packages_apps_LockClock-cm-14.1.zip |
cLock: Avoid possible NPE when releasing wakelockcm-14.1
E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: Process: com.cyanogenmod.lockclock, PID: 2838
E AndroidRuntime: java.lang.RuntimeException: Unable to stop service
com.cyanogenmod.lockclock.weather.WeatherUpdateService@c53a204:
java.lang.NullPointerException: Attempt to invoke virtual method
'void android.os.PowerManager$WakeLock.release()' on a null object reference
E AndroidRuntime: at android.app.ActivityThread.handleStopService(ActivityThread.java:3398)
E AndroidRuntime: at android.app.ActivityThread.-wrap27(ActivityThread.java)
E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1606)
E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6186)
E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke
virtual method 'void android.os.PowerManager$WakeLock.release()' on a null object reference
E AndroidRuntime: at com.cyanogenmod.lockclock.weather.WeatherUpdateService$WorkerThread.
broadcastAndCleanUp(WeatherUpdateService.java:408)
E AndroidRuntime: at com.cyanogenmod.lockclock.weather.WeatherUpdateService$WorkerThread.
tearDown(WeatherUpdateService.java:319)
E AndroidRuntime: at com.cyanogenmod.lockclock.weather.WeatherUpdateService.
onDestroy(WeatherUpdateService.java:439)
E AndroidRuntime: at android.app.ActivityThread.handleStopService(ActivityThread.java:3381)
Change-Id: I13113b95c67b37ed32ac2606b79aebe2c82b7967
-rw-r--r-- | src/com/cyanogenmod/lockclock/weather/WeatherUpdateService.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/cyanogenmod/lockclock/weather/WeatherUpdateService.java b/src/com/cyanogenmod/lockclock/weather/WeatherUpdateService.java index 5ad3a8f..6394c6b 100644 --- a/src/com/cyanogenmod/lockclock/weather/WeatherUpdateService.java +++ b/src/com/cyanogenmod/lockclock/weather/WeatherUpdateService.java @@ -404,8 +404,10 @@ public class WeatherUpdateService extends Service { finishedIntent.putExtra(EXTRA_UPDATE_CANCELLED, updateCancelled); mContext.sendBroadcast(finishedIntent); - if (D) Log.d(TAG, "RELEASING WAKELOCK"); - mWakeLock.release(); + if (mWakeLock != null && mWakeLock.isHeld()) { + if (D) Log.d(TAG, "RELEASING WAKELOCK"); + mWakeLock.release(); + } mIsProcessingWeatherUpdate = false; mContext.stopService(new Intent(mContext, WeatherUpdateService.class)); } |