From f97d5fa232c5e7d90fe1faa83163f70e4501e250 Mon Sep 17 00:00:00 2001 From: Sandor Dornbush Date: Tue, 21 Jun 2011 22:00:40 -0700 Subject: [PATCH] Clean up widget. --- .../mytracks/widgets/AppWidgetProvider.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/widgets/AppWidgetProvider.java b/MyTracks/src/com/google/android/apps/mytracks/widgets/AppWidgetProvider.java index 163a57774..96ea2fd18 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/widgets/AppWidgetProvider.java +++ b/MyTracks/src/com/google/android/apps/mytracks/widgets/AppWidgetProvider.java @@ -39,6 +39,7 @@ import com.google.android.maps.mytracks.R; * An AppWidgetProvider for displaying key track statistics (distance, time, * speed) from the current or most recent track. * + * @author Sandor Dornbush * @author Paul R. Saxman */ public class AppWidgetProvider extends android.appwidget.AppWidgetProvider { @@ -56,12 +57,12 @@ public class AppWidgetProvider extends android.appwidget.AppWidgetProvider { private final Handler contentHandler; private MyTracksProviderUtils providerUtils; - // TODO kill this. I am fairly certain this is a bug. private Context context; private String unknown; private String time; private String distance; private String speed; + private TrackObserver trackObserver; public AppWidgetProvider() { super(); @@ -70,20 +71,27 @@ public class AppWidgetProvider extends android.appwidget.AppWidgetProvider { @Override public void onEnabled(Context context) { - context.getContentResolver().registerContentObserver(TracksColumns.CONTENT_URI, true, new TrackObserver()); + trackObserver = new TrackObserver(); + context.getContentResolver().registerContentObserver( + TracksColumns.CONTENT_URI, true, trackObserver); initialize(context); } + @Override + public void onDisabled(Context context) { + context.getContentResolver().unregisterContentObserver(trackObserver); + } + private void initialize(Context context) { if (this.context != null) { return; } providerUtils = MyTracksProviderUtils.Factory.get(context); this.context = context; - this.distance = context.getString(R.string.kilometer); - this.speed = context.getString(R.string.kilometer_per_hour); - this.time = context.getString(R.string.min); - this.unknown = context.getString(R.string.unknown); + distance = context.getString(R.string.kilometer); + speed = context.getString(R.string.kilometer_per_hour); + time = context.getString(R.string.min); + unknown = context.getString(R.string.unknown); } @Override