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); + } }