Merge "Use SwitchBar for Daydream Settings - a better way"
diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java
index 7ef23e4..580c1fc 100644
--- a/src/com/android/settings/DreamSettings.java
+++ b/src/com/android/settings/DreamSettings.java
@@ -87,7 +87,6 @@
         mBackend = new DreamBackend(activity);
 
         mSwitchBar = activity.getSwitchBar();
-        mSwitchBar.addOnSwitchChangeListener(this);
         mSwitch = mSwitchBar.getSwitch();
 
         setHasOptionsMenu(true);
@@ -111,8 +110,6 @@
     @Override
     public void onDestroyView() {
         logd("onDestroyView()");
-        mSwitchBar.removeOnSwitchChangeListener(this);
-        mSwitchBar.hide();
         super.onDestroyView();
     }
 
@@ -130,8 +127,6 @@
 
         mAdapter = new DreamInfoAdapter(mContext);
         listView.setAdapter(mAdapter);
-
-        mSwitchBar.show();
     }
 
     @Override
@@ -217,7 +212,11 @@
     public void onPause() {
         logd("onPause()");
         super.onPause();
+
         mContext.unregisterReceiver(mPackageReceiver);
+
+        mSwitchBar.removeOnSwitchChangeListener(this);
+        mSwitchBar.hide();
     }
 
     @Override
@@ -234,6 +233,9 @@
         filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
         filter.addDataScheme(PACKAGE_SCHEME);
         mContext.registerReceiver(mPackageReceiver , filter);
+
+        mSwitchBar.addOnSwitchChangeListener(this);
+        mSwitchBar.show();
     }
 
     public static int getSummaryResource(Context context) {