feat(#MagnificationJoystick): add preference for enabling Joystick to Settings
Hide behind feature flag so no one sees the preference unless its enabled. Bug: b/265688847 Test: atest MagnificationJoystickPreferenceControllerTest Change-Id: Id5cc9385f25395f53809a79ba70c84205f9758c2
This commit is contained in:
@@ -217,6 +217,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
addPreferenceController(mFollowTypingPreferenceController);
|
||||
|
||||
addAlwaysOnSetting(generalCategory);
|
||||
addJoystickSetting(generalCategory);
|
||||
}
|
||||
|
||||
private void addAlwaysOnSetting(PreferenceCategory generalCategory) {
|
||||
@@ -245,6 +246,34 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
addPreferenceController(alwaysOnPreferenceController);
|
||||
}
|
||||
|
||||
private void addJoystickSetting(PreferenceCategory generalCategory) {
|
||||
if (!DeviceConfig.getBoolean(
|
||||
DeviceConfig.NAMESPACE_WINDOW_MANAGER,
|
||||
"MagnificationJoystick__enable_magnification_joystick",
|
||||
false
|
||||
)) {
|
||||
return;
|
||||
}
|
||||
|
||||
SwitchPreference joystickPreference = new SwitchPreference(getPrefContext());
|
||||
joystickPreference.setTitle(
|
||||
R.string.accessibility_screen_magnification_joystick_title);
|
||||
joystickPreference.setSummary(
|
||||
R.string.accessibility_screen_magnification_joystick_summary);
|
||||
joystickPreference.setKey(
|
||||
MagnificationJoystickPreferenceController.PREF_KEY);
|
||||
generalCategory.addPreference(joystickPreference);
|
||||
|
||||
MagnificationJoystickPreferenceController joystickPreferenceController =
|
||||
new MagnificationJoystickPreferenceController(
|
||||
getContext(),
|
||||
MagnificationJoystickPreferenceController.PREF_KEY
|
||||
);
|
||||
getSettingsLifecycle().addObserver(joystickPreferenceController);
|
||||
joystickPreferenceController.displayPreference(getPreferenceScreen());
|
||||
addPreferenceController(joystickPreferenceController);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showDialog(int dialogId) {
|
||||
super.showDialog(dialogId);
|
||||
@@ -350,7 +379,8 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
|
||||
List<String> keysToObserve = List.of(
|
||||
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED,
|
||||
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED
|
||||
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED,
|
||||
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_JOYSTICK_ENABLED
|
||||
);
|
||||
contentObserver.registerKeysToObserverCallback(keysToObserve,
|
||||
key -> updatePreferencesState());
|
||||
|
Reference in New Issue
Block a user