Setting to enable the global gesture for turning on accessibility.
1. Adding a setting to enable the gesture to turn on accessibility. This is a new screen with a toggle switch similarly as screen magnification which will contain explanation of how to perform the gesture. bug:6171929 Change-Id: I84dfa46a9b7b789d99923684e08e52cf7d236eb2
This commit is contained in:
@@ -3092,7 +3092,7 @@
|
|||||||
<string name="accessibility_system_title">System</string>
|
<string name="accessibility_system_title">System</string>
|
||||||
<!-- Title for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=35] -->
|
<!-- Title for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=35] -->
|
||||||
<string name="accessibility_screen_magnification_title">Screen magnification</string>
|
<string name="accessibility_screen_magnification_title">Screen magnification</string>
|
||||||
<!-- Summary for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=35] -->
|
<!-- Summary for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=none] -->
|
||||||
<string name="accessibility_screen_magnification_summary">
|
<string name="accessibility_screen_magnification_summary">
|
||||||
When screen magnification is on, you can\:\n\n
|
When screen magnification is on, you can\:\n\n
|
||||||
|
|
||||||
@@ -3105,6 +3105,12 @@
|
|||||||
Pan: Drag two or more fingers across the screen.\n
|
Pan: Drag two or more fingers across the screen.\n
|
||||||
Adjust zoom level: Pinch or expand using two or more fingers.
|
Adjust zoom level: Pinch or expand using two or more fingers.
|
||||||
</string>
|
</string>
|
||||||
|
<!-- Title for the accessibility preference screen to enable the global geture to enable accessibility. [CHAR LIMIT=35] -->
|
||||||
|
<string name="accessibility_global_gesture_preference_title">Global enable gesture</string>
|
||||||
|
<!-- Summary for the accessibility preference screen to enable the global geture to enable accessibility. [CHAR LIMIT=none] -->
|
||||||
|
<string name="accessibility_global_gesture_preference_summary">
|
||||||
|
To enable accessibility long press the power button, after a vibration or a beep long press with two fingers.
|
||||||
|
</string>
|
||||||
<!-- Title for the accessibility preference to enable large text. [CHAR LIMIT=35] -->
|
<!-- Title for the accessibility preference to enable large text. [CHAR LIMIT=35] -->
|
||||||
<string name="accessibility_toggle_large_text_preference_title">Large text</string>
|
<string name="accessibility_toggle_large_text_preference_title">Large text</string>
|
||||||
<!-- Title for the accessibility preference to enable screen magnification. [CHAR LIMIT=35] -->
|
<!-- Title for the accessibility preference to enable screen magnification. [CHAR LIMIT=35] -->
|
||||||
|
@@ -52,6 +52,11 @@
|
|||||||
android:title="@string/accessibility_toggle_speak_password_preference_title"
|
android:title="@string/accessibility_toggle_speak_password_preference_title"
|
||||||
android:persistent="false"/>
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
<PreferenceScreen
|
||||||
|
android:fragment="com.android.settings.AccessibilitySettings$ToggleGlobalGesturePreferenceFragment"
|
||||||
|
android:key="enable_global_gesture_preference_screen"
|
||||||
|
android:title="@string/accessibility_global_gesture_preference_title"/>
|
||||||
|
|
||||||
<PreferenceScreen android:key="tts_settings_preference"
|
<PreferenceScreen android:key="tts_settings_preference"
|
||||||
android:fragment="com.android.settings.tts.TextToSpeechSettings"
|
android:fragment="com.android.settings.tts.TextToSpeechSettings"
|
||||||
android:title="@string/tts_settings_title"/>
|
android:title="@string/tts_settings_title"/>
|
||||||
|
@@ -108,6 +108,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
"select_long_press_timeout_preference";
|
"select_long_press_timeout_preference";
|
||||||
private static final String TOGGLE_SCRIPT_INJECTION_PREFERENCE =
|
private static final String TOGGLE_SCRIPT_INJECTION_PREFERENCE =
|
||||||
"toggle_script_injection_preference";
|
"toggle_script_injection_preference";
|
||||||
|
private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN =
|
||||||
|
"enable_global_gesture_preference_screen";
|
||||||
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
||||||
"screen_magnification_preference_screen";
|
"screen_magnification_preference_screen";
|
||||||
|
|
||||||
@@ -168,6 +170,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
|
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
|
||||||
private Preference mNoServicesMessagePreference;
|
private Preference mNoServicesMessagePreference;
|
||||||
private PreferenceScreen mDisplayMagnificationPreferenceScreen;
|
private PreferenceScreen mDisplayMagnificationPreferenceScreen;
|
||||||
|
private PreferenceScreen mGlobalGesturePreferenceScreen;
|
||||||
|
|
||||||
private int mLongPressTimeoutDefault;
|
private int mLongPressTimeoutDefault;
|
||||||
|
|
||||||
@@ -211,12 +214,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
|
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
|
||||||
if (mToggleLargeTextPreference == preference) {
|
if (mToggleLargeTextPreference == preference) {
|
||||||
@@ -231,6 +228,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
} else if (mToggleSpeakPasswordPreference == preference) {
|
} else if (mToggleSpeakPasswordPreference == preference) {
|
||||||
handleToggleSpeakPasswordPreferenceClick();
|
handleToggleSpeakPasswordPreferenceClick();
|
||||||
return true;
|
return true;
|
||||||
|
} else if (mGlobalGesturePreferenceScreen == preference) {
|
||||||
|
handleTogglEnableAccessibilityGesturePreferenceClick();
|
||||||
|
return true;
|
||||||
} else if (mDisplayMagnificationPreferenceScreen == preference) {
|
} else if (mDisplayMagnificationPreferenceScreen == preference) {
|
||||||
handleDisplayMagnificationPreferenceScreenClick();
|
handleDisplayMagnificationPreferenceScreenClick();
|
||||||
return true;
|
return true;
|
||||||
@@ -266,6 +266,18 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
mToggleSpeakPasswordPreference.isChecked() ? 1 : 0);
|
mToggleSpeakPasswordPreference.isChecked() ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleTogglEnableAccessibilityGesturePreferenceClick() {
|
||||||
|
Bundle extras = mGlobalGesturePreferenceScreen.getExtras();
|
||||||
|
extras.putString(EXTRA_TITLE, getString(
|
||||||
|
R.string.accessibility_global_gesture_preference_title));
|
||||||
|
extras.putString(EXTRA_SUMMARY, getString(
|
||||||
|
R.string.accessibility_global_gesture_preference_summary));
|
||||||
|
extras.putBoolean(EXTRA_CHECKED, Settings.Global.getInt(getContentResolver(),
|
||||||
|
Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, 0) == 1);
|
||||||
|
super.onPreferenceTreeClick(mGlobalGesturePreferenceScreen,
|
||||||
|
mGlobalGesturePreferenceScreen);
|
||||||
|
}
|
||||||
|
|
||||||
private void handleDisplayMagnificationPreferenceScreenClick() {
|
private void handleDisplayMagnificationPreferenceScreenClick() {
|
||||||
Bundle extras = mDisplayMagnificationPreferenceScreen.getExtras();
|
Bundle extras = mDisplayMagnificationPreferenceScreen.getExtras();
|
||||||
extras.putString(EXTRA_TITLE, getString(
|
extras.putString(EXTRA_TITLE, getString(
|
||||||
@@ -325,6 +337,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
// Display magnification.
|
// Display magnification.
|
||||||
mDisplayMagnificationPreferenceScreen = (PreferenceScreen) findPreference(
|
mDisplayMagnificationPreferenceScreen = (PreferenceScreen) findPreference(
|
||||||
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
|
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
|
||||||
|
|
||||||
|
// Global gesture.
|
||||||
|
mGlobalGesturePreferenceScreen =
|
||||||
|
(PreferenceScreen) findPreference(ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateAllPreferences() {
|
private void updateAllPreferences() {
|
||||||
@@ -487,6 +503,17 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
mDisplayMagnificationPreferenceScreen.setSummary(
|
mDisplayMagnificationPreferenceScreen.setSummary(
|
||||||
R.string.accessibility_feature_state_off);
|
R.string.accessibility_feature_state_off);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Global gesture
|
||||||
|
final boolean globalGestureEnabled = Settings.Global.getInt(getContentResolver(),
|
||||||
|
Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, 0) == 1;
|
||||||
|
if (globalGestureEnabled) {
|
||||||
|
mGlobalGesturePreferenceScreen.setSummary(
|
||||||
|
R.string.accessibility_feature_state_on);
|
||||||
|
} else {
|
||||||
|
mGlobalGesturePreferenceScreen.setSummary(
|
||||||
|
R.string.accessibility_feature_state_off);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLockScreenRotationCheckbox() {
|
private void updateLockScreenRotationCheckbox() {
|
||||||
@@ -844,6 +871,29 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class ToggleGlobalGesturePreferenceFragment
|
||||||
|
extends ToggleFeaturePreferenceFragment {
|
||||||
|
@Override
|
||||||
|
protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
|
||||||
|
Settings.Global.putInt(getContentResolver(),
|
||||||
|
Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, enabled ? 1 : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onInstallActionBarToggleSwitch() {
|
||||||
|
super.onInstallActionBarToggleSwitch();
|
||||||
|
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
|
toggleSwitch.setCheckedInternal(checked);
|
||||||
|
getArguments().putBoolean(EXTRA_CHECKED, checked);
|
||||||
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static abstract class ToggleFeaturePreferenceFragment
|
public static abstract class ToggleFeaturePreferenceFragment
|
||||||
extends SettingsPreferenceFragment {
|
extends SettingsPreferenceFragment {
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user