Add ability to show/hide accessibility_shortcut_preference.
This adds a new boolean flag, config_show_accessibility_shortcut_preference, which when set to false will hide the accessibility shortcut preference item. Bug: 62387367 Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilitySettingsTest Change-Id: I3fd941695df1ad89f717f464d2383be909839a3b
This commit is contained in:
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user