aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsyphyr <syphyr@gmail.com>2019-10-21 02:03:44 +0200
committersyphyr <syphyr@gmail.com>2019-11-10 20:56:35 +0100
commite89234ca13ff0807858ba8088cc7eb3db67809fd (patch)
treecd4daf5498c66694e254c8f9c9e59183ee6dc832
parentc223a933811884412f02719d382ea1bef4c7c2f1 (diff)
downloadandroid_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.java6
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));
}