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

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

Change-Id: Iaa14c89b1940432014008243530476775c0ac6b2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-05-15 21:07:27 +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.Description;
import org.hamcrest.Matcher; import org.hamcrest.Matcher;
import org.junit.After; import org.junit.After;
import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.TestRule; import org.junit.rules.TestRule;
@@ -67,22 +66,9 @@ public class FontScaleConverterActivityTest {
@Rule @Rule
public TestRule compatChangeRule = new PlatformCompatChangeRule(); 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 @After
public void teardown() { public void teardown() {
if (mOriginalFontScale != Float.MIN_VALUE) { restoreSystemFontScaleToDefault();
setSystemFontScale(mOriginalFontScale);
}
} }
@IwTest(focusArea = "accessibility") @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) { private Matcher<View> withTextSizeInRange(float sizeStartPx, float sizeEndPx) {
return new BoundedMatcher<>(TextView.class) { return new BoundedMatcher<>(TextView.class) {
private static final float TOLERANCE = 0.05f; private static final float TOLERANCE = 0.05f;