Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1696f287 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Compare undefined fields of Configuration in ResourcesKey" into main

parents 16800e2f ed39dcb0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -167,7 +167,8 @@ public final class ResourcesKey {
        }
        if (android.content.res.Flags.ignoreNonPublicConfigDiffForResourcesKey()) {
            // Do not compare the configuration fields that won't affect resources.
            if (mOverrideConfiguration.diffPublicOnly(mOverrideConfiguration) != 0) {
            if (mOverrideConfiguration.diff(peer.mOverrideConfiguration,
                    true /* compareUndefined */, true /* publicOnly */) != 0) {
                return false;
            }
        } else if (!Objects.equals(mOverrideConfiguration, peer.mOverrideConfiguration)) {
+10 −0
Original line number Diff line number Diff line
@@ -378,6 +378,7 @@ public class ResourcesManagerTest {
    @RequiresFlagsEnabled(Flags.FLAG_IGNORE_NON_PUBLIC_CONFIG_DIFF_FOR_RESOURCES_KEY)
    public void testNonPublicDiffOverrideConfigShareImpl() {
        final Configuration overrideConfig1 = new Configuration();
        overrideConfig1.densityDpi = 100;
        overrideConfig1.windowConfiguration.setAppBounds(0, 0, 500, 1000);
        final Resources resources1 = mResourcesManager.getResources(
                null, APP_ONE_RES_DIR, null, null, null, null, null, overrideConfig1,
@@ -390,9 +391,18 @@ public class ResourcesManagerTest {
                null, APP_ONE_RES_DIR, null, null, null, null, null, overrideConfig2,
                CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);

        // Verify that ResourcesKey distinguishes undefined fields.
        final Configuration emptyConfig = new Configuration();
        final Resources resources3 = mResourcesManager.getResources(
                null, APP_ONE_RES_DIR, null, null, null, null, null, emptyConfig,
                CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);

        assertNotNull(resources1);
        assertNotNull(resources2);
        assertNotNull(emptyConfig);
        assertSame(resources1.getImpl(), resources2.getImpl());
        assertNotSame(resources3.getImpl(), resources1.getImpl());
        assertNotSame(resources3.getImpl(), resources2.getImpl());
    }

    @Test