Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20394005 authored by jasonwshsu's avatar jasonwshsu
Browse files

Add key ACCESSIBILITY_BUTTON_MODE

To support accessibility floating action menu, this key is needed to store the different modes of accessibility button.

Bug: 173940962
Test: atest SettingsProviderTest
Change-Id: I79330dd8ca4a9eaf24900ac399d6f732907411e4
parent 9c209b73
Loading
Loading
Loading
Loading
+38 −6
Original line number Diff line number Diff line
@@ -9161,6 +9161,38 @@ public final class Settings {
        public static final String ACCESSIBILITY_SHOW_WINDOW_MAGNIFICATION_PROMPT =
                "accessibility_show_window_magnification_prompt";
        /**
         * Controls the accessibility button mode. System will force-set the value to {@link
         * #ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU} if {@link #NAVIGATION_MODE} is fully
         * gestural.
         * <ul>
         *    <li> 0 = button in navigation bar </li>
         *    <li> 1 = button floating on the display </li>
         * </ul>
         *
         * @see #ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR
         * @see #ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU
         * @hide
         */
        public static final String ACCESSIBILITY_BUTTON_MODE =
                "accessibility_button_mode";
        /**
         * Accessibility button mode value that specifying the accessibility service or feature to
         * be toggled via the button in the navigation bar.
         *
         * @hide
         */
        public static final int ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR = 0x0;
        /**
         * Accessibility button mode value that specifying the accessibility service or feature to
         * be toggled via the button floating on the display.
         *
         * @hide
         */
        public static final int ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU = 0x1;
        /**
         * Whether the Adaptive connectivity option is enabled.
         *
+2 −0
Original line number Diff line number Diff line
@@ -79,6 +79,8 @@ message SecureSettingsProto {
        optional SettingProto accessibility_magnification_mode = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
        optional SettingProto button_targets = 35 [ (android.privacy).dest = DEST_AUTOMATIC ];
        optional SettingProto accessibility_magnification_capability = 36 [ (android.privacy).dest = DEST_AUTOMATIC ];
        // Settings for accessibility button mode (navigation bar or floating action menu).
        optional SettingProto accessibility_button_mode = 37 [ (android.privacy).dest = DEST_AUTOMATIC ];
    }
    optional Accessibility accessibility = 2;

+2 −1
Original line number Diff line number Diff line
@@ -180,6 +180,7 @@ public class SecureSettings {
        Settings.Secure.EMERGENCY_GESTURE_SOUND_ENABLED,
        Settings.Secure.ADAPTIVE_CONNECTIVITY_ENABLED,
        Settings.Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS,
        Settings.Secure.ASSIST_HANDLES_LEARNING_EVENT_COUNT
        Settings.Secure.ASSIST_HANDLES_LEARNING_EVENT_COUNT,
        Settings.Secure.ACCESSIBILITY_BUTTON_MODE
    };
}
+4 −0
Original line number Diff line number Diff line
@@ -269,5 +269,9 @@ public class SecureSettingsValidators {
        VALIDATORS.put(
                Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS, NONE_NEGATIVE_LONG_VALIDATOR);
        VALIDATORS.put(Secure.ASSIST_HANDLES_LEARNING_EVENT_COUNT, NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(Secure.ACCESSIBILITY_BUTTON_MODE,
                new InclusiveIntegerRangeValidator(
                        Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR,
                        Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU));
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -1810,6 +1810,9 @@ class SettingsProtoDumpUtil {
        dumpSetting(s, p,
                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY,
                SecureSettingsProto.Accessibility.ACCESSIBILITY_MAGNIFICATION_CAPABILITY);
        dumpSetting(s, p,
                Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
                SecureSettingsProto.Accessibility.ACCESSIBILITY_BUTTON_MODE);
        p.end(accessibilityToken);

        final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);