From f7410613c1e291f4eb34003bae1447b21b574d0d Mon Sep 17 00:00:00 2001 From: Candice Lo Date: Mon, 20 Feb 2023 09:26:44 +0000 Subject: [PATCH] Add key ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED We use the key to track if users change the font size in Settings and not use the default scaled value. Bug: 269679768 Test: atest SettingsProviderTest Change-Id: I8854f484ddec4669aa08b3ca60590fdb198dd970 Merged-In: I6a20e2af38064be2b03e2cdda530964989a2d0b0 --- core/java/android/provider/Settings.java | 9 +++++++++ core/proto/android/providers/settings/secure.proto | 2 ++ .../android/provider/settings/backup/SecureSettings.java | 3 ++- .../settings/validators/SecureSettingsValidators.java | 1 + .../providers/settings/SettingsProtoDumpUtil.java | 3 +++ 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 10e1633b22d77..6b25c81218e8b 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -8000,6 +8000,15 @@ public final class Settings { public static final String ACCESSIBILITY_DISPLAY_INVERSION_ENABLED = "accessibility_display_inversion_enabled"; + /** + * Flag that specifies whether font size has been changed. The flag will + * be set when users change the scaled value of font size for the first time. + * @hide + */ + @Readable + public static final String ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED = + "accessibility_font_scaling_has_been_changed"; + /** * Setting that specifies whether display color space adjustment is * enabled. diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index 556636ddd2106..d443270575d3b 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -89,6 +89,8 @@ message SecureSettingsProto { // Setting for accessibility magnification for following typing. optional SettingProto accessibility_magnification_follow_typing_enabled = 43 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto contrast_level = 44 [ (android.privacy).dest = DEST_AUTOMATIC ]; + // Settings for font scaling + optional SettingProto accessibility_font_scaling_has_been_changed = 51 [ (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 b5eaa4b776b8b..6a07dc6603ca1 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -221,6 +221,7 @@ public class SecureSettings { Settings.Secure.BLUETOOTH_LE_BROADCAST_PROGRAM_INFO, Settings.Secure.BLUETOOTH_LE_BROADCAST_CODE, Settings.Secure.BLUETOOTH_LE_BROADCAST_APP_SOURCE_NAME, - Settings.Secure.LOCK_SCREEN_WEATHER_ENABLED + Settings.Secure.LOCK_SCREEN_WEATHER_ENABLED, + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index 534e31ae42ee7..dd9b48457333e 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -355,5 +355,6 @@ public class SecureSettingsValidators { VALIDATORS.put(Secure.BLUETOOTH_LE_BROADCAST_CODE, ANY_STRING_VALIDATOR); VALIDATORS.put(Secure.BLUETOOTH_LE_BROADCAST_APP_SOURCE_NAME, ANY_STRING_VALIDATOR); VALIDATORS.put(Secure.LOCK_SCREEN_WEATHER_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, 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 a78faaf90c37e..c90b95a7fe624 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1822,6 +1822,9 @@ class SettingsProtoDumpUtil { Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, SecureSettingsProto.Accessibility .ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, + SecureSettingsProto.Accessibility.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED); p.end(accessibilityToken); final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);