diff --git a/src/com/android/settings/accessibility/FontSizeData.java b/src/com/android/settings/accessibility/FontSizeData.java index 88aa1aa99ce..1226d25b0e3 100644 --- a/src/com/android/settings/accessibility/FontSizeData.java +++ b/src/com/android/settings/accessibility/FontSizeData.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 android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; @@ -50,6 +53,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); + } }