Merge "Add ability to show/hide accessibility_shortcut_preference."

This commit is contained in:
TreeHugger Robot
2018-01-04 22:57:35 +00:00
committed by Android (Google) Code Review
5 changed files with 127 additions and 7 deletions

View File

@@ -30,6 +30,7 @@ import android.os.Handler;
import android.os.UserHandle;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v4.content.ContextCompat;
import android.support.v7.preference.ListPreference;
@@ -102,8 +103,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
"toggle_master_mono";
private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
"select_long_press_timeout_preference";
private static final String ACCESSIBILITY_SHORTCUT_PREFERENCE =
"accessibility_shortcut_preference";
private static final String CAPTIONING_PREFERENCE_SCREEN =
"captioning_preference_screen";
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
@@ -117,6 +116,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
"daltonizer_preference_screen";
@VisibleForTesting static final String ACCESSIBILITY_SHORTCUT_PREFERENCE =
"accessibility_shortcut_preference";
// Extras passed to sub-fragments.
static final String EXTRA_PREFERENCE_KEY = "preference_key";
static final String EXTRA_CHECKED = "checked";
@@ -452,6 +454,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
// Accessibility shortcut
mAccessibilityShortcutPreferenceScreen = findPreference(ACCESSIBILITY_SHORTCUT_PREFERENCE);
}
private void updateAllPreferences() {
@@ -668,6 +671,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
updateAutoclickSummary(mAutoclickPreferenceScreen);
updateAccessibilityShortcut(mAccessibilityShortcutPreferenceScreen);
checkAccessibilityShortcutVisibility(mAccessibilityShortcutPreferenceScreen);
}
private void updateMagnificationSummary(Preference pref) {
@@ -765,6 +769,13 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
}
@VisibleForTesting void checkAccessibilityShortcutVisibility(Preference preference) {
if (!getContext().getResources().getBoolean(
R.bool.config_show_accessibility_shortcut_preference)) {
removePreference(ACCESSIBILITY_SHORTCUT_PREFERENCE);
}
}
private static void configureMagnificationPreferenceIfNeeded(Preference preference) {
// Some devices support only a single magnification mode. In these cases, we redirect to
// the magnification mode's UI directly, rather than showing a PreferenceScreen with a
@@ -800,6 +811,12 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
keys.add(FONT_SIZE_PREFERENCE_SCREEN);
keys.add(KEY_DISPLAY_SIZE);
// Remove Accessibility Shortcuts if it's not visible
if (!context.getResources().getBoolean(
R.bool.config_show_accessibility_shortcut_preference)) {
keys.add(ACCESSIBILITY_SHORTCUT_PREFERENCE);
}
// Duplicates in Language & Input
keys.add(TTS_SETTINGS_PREFERENCE);