Loading core/java/android/provider/Settings.java +14 −0 Original line number Diff line number Diff line Loading @@ -8829,6 +8829,18 @@ public final class Settings { private static final Validator THEME_CUSTOMIZATION_OVERLAY_PACKAGES_VALIDATOR = SettingsValidators.JSON_OBJECT_VALIDATOR; /** * Navigation bar mode. * 0 = 3 button * 1 = 2 button * 2 = fully gestural * @hide */ public static final String NAVIGATION_MODE = "navigation_mode"; private static final Validator NAVIGATION_MODE_VALIDATOR = new SettingsValidators.DiscreteValueValidator(new String[] {"0", "1", "2"}); /** * Controls whether aware is enabled. * @hide Loading Loading @@ -8972,6 +8984,7 @@ public final class Settings { SKIP_GESTURE, SILENCE_GESTURE, THEME_CUSTOMIZATION_OVERLAY_PACKAGES, NAVIGATION_MODE, AWARE_ENABLED, SKIP_GESTURE_COUNT, SILENCE_ALARMS_GESTURE_COUNT, Loading Loading @@ -9157,6 +9170,7 @@ public final class Settings { VALIDATORS.put(SILENCE_GESTURE, SILENCE_GESTURE_VALIDATOR); VALIDATORS.put(THEME_CUSTOMIZATION_OVERLAY_PACKAGES, THEME_CUSTOMIZATION_OVERLAY_PACKAGES_VALIDATOR); VALIDATORS.put(NAVIGATION_MODE, NAVIGATION_MODE_VALIDATOR); VALIDATORS.put(AWARE_ENABLED, AWARE_ENABLED_VALIDATOR); VALIDATORS.put(SKIP_GESTURE_COUNT, SKIP_GESTURE_COUNT_VALIDATOR); VALIDATORS.put(SILENCE_ALARMS_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR); Loading core/proto/android/providers/settings/secure.proto +2 −1 Original line number Diff line number Diff line Loading @@ -304,6 +304,7 @@ message SecureSettingsProto { optional SettingProto multi_press_timeout = 38 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto navigation_mode = 76 [ (android.privacy).dest = DEST_AUTOMATIC ]; message NfcPayment { option (android.msg_privacy).dest = DEST_EXPLICIT; Loading Loading @@ -552,5 +553,5 @@ message SecureSettingsProto { // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). // Next tag = 76; // Next tag = 77; } packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +4 −0 Original line number Diff line number Diff line Loading @@ -2086,6 +2086,10 @@ class SettingsProtoDumpUtil { Settings.Secure.MULTI_PRESS_TIMEOUT, SecureSettingsProto.MULTI_PRESS_TIMEOUT); dumpSetting(s, p, Settings.Secure.NAVIGATION_MODE, SecureSettingsProto.NAVIGATION_MODE); final long nfcPaymentToken = p.start(SecureSettingsProto.NFC_PAYMENT); dumpSetting(s, p, Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java +6 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import android.os.PatternMatcher; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.Secure; import android.util.Log; import android.util.SparseBooleanArray; Loading Loading @@ -167,6 +169,10 @@ public class NavigationModeController implements Dumpable { mCurrentUserContext = getCurrentUserContext(); int mode = getCurrentInteractionMode(mCurrentUserContext); mMode = mode; mUiOffloadThread.submit(() -> { Settings.Secure.putString(mCurrentUserContext.getContentResolver(), Secure.NAVIGATION_MODE, String.valueOf(mode)); }); if (DEBUG) { Log.e(TAG, "updateCurrentInteractionMode: mode=" + mMode + " contextUser=" + mCurrentUserContext.getUserId()); Loading Loading
core/java/android/provider/Settings.java +14 −0 Original line number Diff line number Diff line Loading @@ -8829,6 +8829,18 @@ public final class Settings { private static final Validator THEME_CUSTOMIZATION_OVERLAY_PACKAGES_VALIDATOR = SettingsValidators.JSON_OBJECT_VALIDATOR; /** * Navigation bar mode. * 0 = 3 button * 1 = 2 button * 2 = fully gestural * @hide */ public static final String NAVIGATION_MODE = "navigation_mode"; private static final Validator NAVIGATION_MODE_VALIDATOR = new SettingsValidators.DiscreteValueValidator(new String[] {"0", "1", "2"}); /** * Controls whether aware is enabled. * @hide Loading Loading @@ -8972,6 +8984,7 @@ public final class Settings { SKIP_GESTURE, SILENCE_GESTURE, THEME_CUSTOMIZATION_OVERLAY_PACKAGES, NAVIGATION_MODE, AWARE_ENABLED, SKIP_GESTURE_COUNT, SILENCE_ALARMS_GESTURE_COUNT, Loading Loading @@ -9157,6 +9170,7 @@ public final class Settings { VALIDATORS.put(SILENCE_GESTURE, SILENCE_GESTURE_VALIDATOR); VALIDATORS.put(THEME_CUSTOMIZATION_OVERLAY_PACKAGES, THEME_CUSTOMIZATION_OVERLAY_PACKAGES_VALIDATOR); VALIDATORS.put(NAVIGATION_MODE, NAVIGATION_MODE_VALIDATOR); VALIDATORS.put(AWARE_ENABLED, AWARE_ENABLED_VALIDATOR); VALIDATORS.put(SKIP_GESTURE_COUNT, SKIP_GESTURE_COUNT_VALIDATOR); VALIDATORS.put(SILENCE_ALARMS_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR); Loading
core/proto/android/providers/settings/secure.proto +2 −1 Original line number Diff line number Diff line Loading @@ -304,6 +304,7 @@ message SecureSettingsProto { optional SettingProto multi_press_timeout = 38 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto navigation_mode = 76 [ (android.privacy).dest = DEST_AUTOMATIC ]; message NfcPayment { option (android.msg_privacy).dest = DEST_EXPLICIT; Loading Loading @@ -552,5 +553,5 @@ message SecureSettingsProto { // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). // Next tag = 76; // Next tag = 77; }
packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +4 −0 Original line number Diff line number Diff line Loading @@ -2086,6 +2086,10 @@ class SettingsProtoDumpUtil { Settings.Secure.MULTI_PRESS_TIMEOUT, SecureSettingsProto.MULTI_PRESS_TIMEOUT); dumpSetting(s, p, Settings.Secure.NAVIGATION_MODE, SecureSettingsProto.NAVIGATION_MODE); final long nfcPaymentToken = p.start(SecureSettingsProto.NFC_PAYMENT); dumpSetting(s, p, Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java +6 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import android.os.PatternMatcher; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.Secure; import android.util.Log; import android.util.SparseBooleanArray; Loading Loading @@ -167,6 +169,10 @@ public class NavigationModeController implements Dumpable { mCurrentUserContext = getCurrentUserContext(); int mode = getCurrentInteractionMode(mCurrentUserContext); mMode = mode; mUiOffloadThread.submit(() -> { Settings.Secure.putString(mCurrentUserContext.getContentResolver(), Secure.NAVIGATION_MODE, String.valueOf(mode)); }); if (DEBUG) { Log.e(TAG, "updateCurrentInteractionMode: mode=" + mMode + " contextUser=" + mCurrentUserContext.getUserId()); Loading