Conditionally reposition experimental preferences.

Specifically, move colour inversion and colour correction preferences
to the display category if device is color transform accelerated.

Test: Manual

Bug: 36603386

Change-Id: I4f7e4e569f5f358e6e3c705f9df02e0da473a081
This commit is contained in:
Saige McVea
2017-04-07 22:24:29 -07:00
parent c2d56691fe
commit 6a6b97905f
2 changed files with 26 additions and 5 deletions

View File

@@ -57,11 +57,6 @@
android:title="@string/accessibility_screen_magnification_title"
android:icon="@mipmap/ic_accessibility_magnification" />
<Preference
android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
android:key="daltonizer_preference_screen"
android:title="@string/accessibility_display_daltonizer_preference_title" />
<SwitchPreference
android:key="toggle_large_pointer_icon"
android:title="@string/accessibility_toggle_large_pointer_icon_title" />
@@ -118,6 +113,11 @@
android:key="toggle_high_text_contrast_preference"
android:title="@string/accessibility_toggle_high_text_contrast_preference_title" />
<Preference
android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
android:key="daltonizer_preference_screen"
android:title="@string/accessibility_display_daltonizer_preference_title" />
<SwitchPreference
android:key="toggle_inversion_preference"
android:title="@string/accessibility_display_inversion_preference_title"

View File

@@ -549,6 +549,22 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
private void updateSystemPreferences() {
// Move color inversion and color correction preferences to Display category if device
// supports HWC hardware-accelerated color transform.
if (isColorTransformAccelerated(getContext())) {
PreferenceCategory experimentalCategory =
mCategoryToPrefCategoryMap.get(CATEGORY_EXPERIMENTAL);
PreferenceCategory displayCategory =
mCategoryToPrefCategoryMap.get(CATEGORY_DISPLAY);
experimentalCategory.removePreference(mToggleInversionPreference);
experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
mToggleInversionPreference.setOrder(mToggleLargePointerIconPreference.getOrder());
mDisplayDaltonizerPreferenceScreen.setOrder(mToggleInversionPreference.getOrder());
mToggleInversionPreference.setSummary(R.string.summary_empty);
displayCategory.addPreference(mToggleInversionPreference);
displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
}
// Text contrast.
mToggleHighTextContrastPreference.setChecked(
Settings.Secure.getInt(getContentResolver(),
@@ -600,6 +616,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
updateAccessibilityShortcut(mAccessibilityShortcutPreferenceScreen);
}
private boolean isColorTransformAccelerated(Context context) {
return context.getResources()
.getBoolean(com.android.internal.R.bool.config_setColorTransformAccelerated);
}
private void updateMagnificationSummary(Preference pref) {
final boolean tripleTapEnabled = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1;