From f19f710b012df1d9a959c28dbb13eb1199edac62 Mon Sep 17 00:00:00 2001 From: Candice Lo Date: Mon, 6 Mar 2023 05:38:24 +0000 Subject: [PATCH] Set the settings key when the font size is changed The key ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED will be always ON after users modify the font size for the first time. Bug: 269679768 Test: make RunSettingsRoboTests ROBOTEST_FILTER=FontSizeDataTest Change-Id: I5967227ce05d5b8bf37dfec9aafa015c5cacbd30 Merged-In: I382e4ecd3c335d7b046f157cedc093fc40c3a77a --- .../settings/accessibility/FontSizeData.java | 8 ++++++++ .../accessibility/FontSizeDataTest.java | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/com/android/settings/accessibility/FontSizeData.java b/src/com/android/settings/accessibility/FontSizeData.java index 56980a4ceba..1de0a5ff7b0 100644 --- a/src/com/android/settings/accessibility/FontSizeData.java +++ b/src/com/android/settings/accessibility/FontSizeData.java @@ -16,6 +16,8 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; +import static com.android.settings.accessibility.AccessibilityUtil.State.ON; import static com.android.settings.display.ToggleFontSizePreferenceFragment.fontSizeValueToIndex; import android.content.ContentResolver; @@ -52,6 +54,12 @@ final class FontSizeData extends PreviewSizeData { @Override void commit(int currentProgress) { final ContentResolver resolver = getContext().getContentResolver(); + if (Settings.Secure.getInt(resolver, + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, + /* def= */ OFF) != ON) { + Settings.Secure.putInt(resolver, + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, ON); + } Settings.System.putFloat(resolver, Settings.System.FONT_SCALE, getValues().get(currentProgress)); } diff --git a/tests/robotests/src/com/android/settings/accessibility/FontSizeDataTest.java b/tests/robotests/src/com/android/settings/accessibility/FontSizeDataTest.java index 7e357140811..adf7495a069 100644 --- a/tests/robotests/src/com/android/settings/accessibility/FontSizeDataTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/FontSizeDataTest.java @@ -16,6 +16,9 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; +import static com.android.settings.accessibility.AccessibilityUtil.State.ON; + import static com.google.common.truth.Truth.assertThat; import android.content.Context; @@ -52,4 +55,19 @@ public class FontSizeDataTest { assertThat(currentScale).isEqualTo(mFontSizeData.getValues().get(progress)); } + + @Test + public void commit_fontScalingHasBeenChangedIsOn() { + final int progress = 3; + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, OFF); + + mFontSizeData.commit(progress); + final int currentSettings = Settings.Secure.getInt( + mContext.getContentResolver(), + Settings.Secure.ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED, + /* def= */ OFF); + + assertThat(currentSettings).isEqualTo(ON); + } }