Merge "fix(non linear font scaling): restore font scale to default instead of original" into udc-dev am: 887a8ffd3f am: 5751ff39b9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23191501

Change-Id: Icded078728d652d54e12a4f678ebeecb7350c68d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-05-15 23:11:47 +00:00
committed by Automerger Merge Worker

View File

@@ -45,7 +45,6 @@ import com.android.frameworks.coretests.R;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
@@ -67,22 +66,9 @@ public class FontScaleConverterActivityTest {
@Rule
public TestRule compatChangeRule = new PlatformCompatChangeRule();
private float mOriginalFontScale = Float.MIN_VALUE;
@Before
public void setup() {
mOriginalFontScale = Settings.System.getFloat(
InstrumentationRegistry.getInstrumentation().getContext().getContentResolver(),
Settings.System.FONT_SCALE,
Float.MIN_VALUE
);
}
@After
public void teardown() {
if (mOriginalFontScale != Float.MIN_VALUE) {
setSystemFontScale(mOriginalFontScale);
}
restoreSystemFontScaleToDefault();
}
@IwTest(focusArea = "accessibility")
@@ -160,6 +146,28 @@ public class FontScaleConverterActivityTest {
);
}
private static void restoreSystemFontScaleToDefault() {
ShellIdentityUtils.invokeWithShellPermissions(() -> {
// TODO(b/279083734): would use Settings.System.resetToDefaults() if it existed
Settings.System.putString(
InstrumentationRegistry.getInstrumentation()
.getContext()
.getContentResolver(),
Settings.System.FONT_SCALE,
null,
/* overrideableByRestore= */ true);
});
PollingCheck.waitFor(
/* timeout= */ 5000,
() -> InstrumentationRegistry.getInstrumentation()
.getContext()
.getResources()
.getConfiguration()
.fontScale == 1
);
}
private Matcher<View> withTextSizeInRange(float sizeStartPx, float sizeEndPx) {
return new BoundedMatcher<>(TextView.class) {
private static final float TOLERANCE = 0.05f;