diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 4632621b29aa2..053ee718a8c80 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9193,6 +9193,39 @@ public final class Settings {
*/
public static final int ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU = 0x1;
+ /**
+ * The size of the accessibility floating menu.
+ *
+ * - 0 = small size
+ *
- 1 = large size
+ *
+ *
+ * @hide
+ */
+ public static final String ACCESSIBILITY_FLOATING_MENU_SIZE =
+ "accessibility_floating_menu_size";
+
+ /**
+ * The icon type of the accessibility floating menu.
+ *
+ * - 0 = full circle type
+ *
- 1 = half circle type
+ *
+ *
+ * @hide
+ */
+ public static final String ACCESSIBILITY_FLOATING_MENU_ICON_TYPE =
+ "accessibility_floating_menu_icon_type";
+
+ /**
+ * The opacity value for the accessibility floating menu fade out effect, from 0.0
+ * (transparent) to 1.0 (opaque).
+ *
+ * @hide
+ */
+ public static final String ACCESSIBILITY_FLOATING_MENU_OPACITY =
+ "accessibility_floating_menu_opacity";
+
/**
* Whether the Adaptive connectivity option is enabled.
*
diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto
index 2ba39cb975f55..391919af9239b 100644
--- a/core/proto/android/providers/settings/secure.proto
+++ b/core/proto/android/providers/settings/secure.proto
@@ -81,6 +81,9 @@ message SecureSettingsProto {
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 SettingProto accessibility_floating_menu_size = 38 [ (android.privacy).dest = DEST_AUTOMATIC ];
+ optional SettingProto accessibility_floating_menu_icon_type = 39 [ (android.privacy).dest = DEST_AUTOMATIC ];
+ optional SettingProto accessibility_floating_menu_opacity = 40 [ (android.privacy).dest = DEST_AUTOMATIC ];
}
optional Accessibility accessibility = 2;
diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
index b6e45fc03d018..fcb6cc3fbd8ea 100644
--- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
+++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
@@ -181,6 +181,9 @@ public class SecureSettings {
Settings.Secure.ADAPTIVE_CONNECTIVITY_ENABLED,
Settings.Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS,
Settings.Secure.ASSIST_HANDLES_LEARNING_EVENT_COUNT,
- Settings.Secure.ACCESSIBILITY_BUTTON_MODE
+ Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY
};
}
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
index d14acc6af5d66..53e67e153c74e 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
@@ -273,5 +273,11 @@ public class SecureSettingsValidators {
new InclusiveIntegerRangeValidator(
Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR,
Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU));
+ VALIDATORS.put(Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+ new DiscreteValueValidator(new String[] {"0", "1"}));
+ VALIDATORS.put(Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE,
+ new DiscreteValueValidator(new String[] {"0", "1"}));
+ VALIDATORS.put(Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY,
+ new InclusiveFloatRangeValidator(0.0f, 1.0f));
}
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 5c7a4665fef8c..713be5482993e 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1813,6 +1813,15 @@ class SettingsProtoDumpUtil {
dumpSetting(s, p,
Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
SecureSettingsProto.Accessibility.ACCESSIBILITY_BUTTON_MODE);
+ dumpSetting(s, p,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+ SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_SIZE);
+ dumpSetting(s, p,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE,
+ SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE);
+ dumpSetting(s, p,
+ Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY,
+ SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_OPACITY);
p.end(accessibilityToken);
final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);