Merge "Color correction improvement (4/n)"
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 610bb6b..01ff9f5 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -60,8 +60,6 @@
     private static final String PREVIEW_PREFERENCE_KEY = "color_inversion_preview";
     private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
     private static final int DIALOG_ID_EDIT_SHORTCUT = 1;
-    private static final String DISPLAY_INVERSION_ENABLED =
-            Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
     private static final String EXTRA_SHORTCUT_TYPE = "shortcut_type";
     private final Handler mHandler = new Handler();
     private ShortcutPreference mShortcutPreference;
@@ -129,7 +127,7 @@
             Bundle savedInstanceState) {
         initShortcutPreference(savedInstanceState);
         final List<String> enableServiceFeatureKeys = new ArrayList<>(/* initialCapacity= */ 1);
-        enableServiceFeatureKeys.add(DISPLAY_INVERSION_ENABLED);
+        enableServiceFeatureKeys.add(ENABLED);
         mSettingsContentObserver = new SettingsContentObserver(mHandler, enableServiceFeatureKeys) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index c20e304..e0bf461 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -24,7 +24,9 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.res.Resources;
+import android.net.Uri;
 import android.os.Bundle;
+import android.os.Handler;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -64,7 +66,9 @@
     private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
     private static final int DIALOG_ID_EDIT_SHORTCUT = 1;
     private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
+    private final Handler mHandler = new Handler();
     private ShortcutPreference mShortcutPreference;
+    private SettingsContentObserver mSettingsContentObserver;
     private int mUserShortcutType = UserShortcutType.DEFAULT;
     private CheckBox mSoftwareTypeCheckBox;
     private CheckBox mHardwareTypeCheckBox;
@@ -95,6 +99,16 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         initShortcutPreference(savedInstanceState);
+        final List<String> enableServiceFeatureKeys = new ArrayList<>(/* initialCapacity= */ 1);
+        enableServiceFeatureKeys.add(ENABLED);
+        mSettingsContentObserver = new SettingsContentObserver(mHandler, enableServiceFeatureKeys) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                mSwitchBar.setCheckedInternal(
+                        Settings.Secure.getInt(getContentResolver(), ENABLED, State.OFF)
+                                == State.ON);
+            }
+        };
         return super.onCreateView(inflater, container, savedInstanceState);
     }
 
@@ -254,6 +268,18 @@
     }
 
     @Override
+    public void onStart() {
+        super.onStart();
+        mSettingsContentObserver.register(getContentResolver());
+    }
+
+    @Override
+    public void onStop() {
+        mSettingsContentObserver.unregister(getContentResolver());
+        super.onStop();
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.ACCESSIBILITY_TOGGLE_DALTONIZER;
     }