From b5764cd804aa828d3af588a3ca72e3cb508c0296 Mon Sep 17 00:00:00 2001 From: Jacky Kao Date: Tue, 4 Jan 2022 11:21:55 +0800 Subject: [PATCH] Adds APIs to let live caption can access the data in the DB (1/n) Adds a new setting key, ODI_CAPTIONS_VOLUME_UI_ENABLED, in the secure settings, to indicate the live caption button show or hide in the volume rocker. Bug: 136282740 Test: atest SettingsBackupTest Change-Id: Ibcf3be36903450538696c75325c4a866942ce693 --- core/java/android/provider/Settings.java | 10 ++++++++++ core/proto/android/providers/settings/secure.proto | 1 + .../provider/settings/backup/SecureSettings.java | 1 + .../settings/validators/SecureSettingsValidators.java | 2 ++ .../providers/settings/SettingsProtoDumpUtil.java | 3 +++ 5 files changed, 17 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 190b8f66949b3..1a70634cb0f54 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -6524,6 +6524,16 @@ public final class Settings { @Readable public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled"; + + /** + * Setting to indicate live caption button show or hide in the volume + * rocker. + * + * @hide + */ + public static final String ODI_CAPTIONS_VOLUME_UI_ENABLED = + "odi_captions_volume_ui_enabled"; + /** * On Android 8.0 (API level 26) and higher versions of the platform, * a 64-bit number (expressed as a hexadecimal string), unique to diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index ba4a5b0ce222f..5090d8cb5c3af 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -85,6 +85,7 @@ message SecureSettingsProto { 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 SettingProto accessibility_floating_menu_fade_enabled = 41 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto odi_captions_volume_ui_enabled = 42 [ (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 4e2111c7d864a..16cece93f2dec 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -188,6 +188,7 @@ public class SecureSettings { Settings.Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, + Settings.Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, Settings.Secure.NOTIFICATION_BUBBLES, Settings.Secure.LOCATION_TIME_ZONE_DETECTION_ENABLED, Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index dd1cb6b32d4f2..688c48ddebb1b 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -321,5 +321,7 @@ public class SecureSettingsValidators { } return true; }); + VALIDATORS.put(Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, BOOLEAN_VALIDATOR); + } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 38a258f6ecf06..103e14175f763 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1813,6 +1813,9 @@ class SettingsProtoDumpUtil { dumpSetting(s, p, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED); + dumpSetting(s, p, + Settings.Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, + SecureSettingsProto.Accessibility.ODI_CAPTIONS_VOLUME_UI_ENABLED); p.end(accessibilityToken); final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);