OSDN Git Service

Register the listener for switch during onResume
authorLifu Tang <lifu@google.com>
Mon, 14 Jul 2014 19:25:02 +0000 (12:25 -0700)
committerLifu Tang <lifu@google.com>
Mon, 14 Jul 2014 21:06:26 +0000 (21:06 +0000)
- Fix b/16118646

Change-Id: I9ec87422ecc4e05ca332e116af71c07f06c6c65a

src/com/android/settings/location/LocationSettings.java

index 184c387..474a857 100644 (file)
@@ -73,7 +73,6 @@ public class LocationSettings extends LocationSettingsBase
 
         mSwitchBar = activity.getSwitchBar();
         mSwitch = mSwitchBar.getSwitch();
-        mSwitchBar.addOnSwitchChangeListener(this);
         mSwitchBar.show();
     }
 
@@ -81,7 +80,6 @@ public class LocationSettings extends LocationSettingsBase
     public void onDestroyView() {
         super.onDestroyView();
 
-        mSwitchBar.removeOnSwitchChangeListener(this);
         mSwitchBar.hide();
     }
 
@@ -94,6 +92,7 @@ public class LocationSettings extends LocationSettingsBase
     public void onResume() {
         super.onResume();
         createPreferenceHierarchy();
+        mSwitchBar.addOnSwitchChangeListener(this);
         mValidListener = true;
     }
 
@@ -105,6 +104,7 @@ public class LocationSettings extends LocationSettingsBase
             // Ignore exceptions caused by race condition
         }
         super.onPause();
+        mSwitchBar.removeOnSwitchChangeListener(this);
         mValidListener = false;
     }