Add TogglePrefController for Color Invert

Add ColorInversionPreferenceController,
and remove old control code in fragment.

Change-Id: I773e5aa2d6c9bf6b5140be45ee60567a7ed22318
Fixes: 67997748
Test: make RunSettingsRoboTests
This commit is contained in:
hjchangliao
2018-05-22 10:36:25 +08:00
parent 3df8494f08
commit bc64434365
4 changed files with 161 additions and 13 deletions

View File

@@ -224,6 +224,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private Preference mDisplayDaltonizerPreferenceScreen;
private Preference mVibrationPreferenceScreen;
private SwitchPreference mToggleInversionPreference;
private ColorInversionPreferenceController mInversionPreferenceController;
private int mLongPressTimeoutDefault;
@@ -304,9 +305,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
if (mSelectLongPressTimeoutPreference == preference) {
handleLongPressTimeoutPreferenceChange((String) newValue);
return true;
} else if (mToggleInversionPreference == preference) {
handleToggleInversionPreferenceChange((Boolean) newValue);
return true;
}
return false;
}
@@ -318,11 +316,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mLongPressTimeoutValueToTitleMap.get(stringValue));
}
private void handleToggleInversionPreferenceChange(boolean checked) {
Settings.Secure.putInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, (checked ? 1 : 0));
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (mToggleHighTextContrastPreference == preference) {
@@ -412,7 +405,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
// Display inversion.
mToggleInversionPreference = (SwitchPreference) findPreference(TOGGLE_INVERSION_PREFERENCE);
mToggleInversionPreference.setOnPreferenceChangeListener(this);
mInversionPreferenceController =
new ColorInversionPreferenceController(getContext(), TOGGLE_INVERSION_PREFERENCE);
mInversionPreferenceController.displayPreference(getPreferenceScreen());
// Power button ends calls.
mTogglePowerButtonEndsCallPreference =
@@ -652,8 +647,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 0) == 1);
// If the quick setting is enabled, the preference MUST be enabled.
mToggleInversionPreference.setChecked(Settings.Secure.getInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, 0) == 1);
mInversionPreferenceController.updateState(mToggleInversionPreference);
// Power button ends calls.
if (KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)