summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java')
-rw-r--r--src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java b/src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java
index 4bc816a..be3b9f8 100644
--- a/src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java
+++ b/src/com/cyanogenmod/lockclock/weather/WeatherSourceListenerService.java
@@ -32,6 +32,7 @@ public class WeatherSourceListenerService extends Service
private static final String TAG = WeatherSourceListenerService.class.getSimpleName();
private static final boolean D = Constants.DEBUG;
private Context mContext;
+ private volatile boolean mRegistered;
@Override
public void onWeatherServiceProviderChanged(String providerLabel) {
@@ -65,15 +66,17 @@ public class WeatherSourceListenerService extends Service
final CMWeatherManager weatherManager
= CMWeatherManager.getInstance(mContext);
weatherManager.registerWeatherServiceProviderChangeListener(this);
+ mRegistered = true;
if (D) Log.d(TAG, "Listener registered");
return START_STICKY;
}
@Override
public void onDestroy() {
- final CMWeatherManager weatherManager = CMWeatherManager.getInstance(mContext);
- weatherManager.unregisterWeatherServiceProviderChangeListener(this);
- if (D) Log.d(TAG, "Listener unregistered");
+ if (mRegistered) {
+ final CMWeatherManager weatherManager = CMWeatherManager.getInstance(mContext);
+ weatherManager.unregisterWeatherServiceProviderChangeListener(this);
+ }
}
@Override