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

Commit 961ef2bf authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Reduce unnecessary initialization of DisplayAdjustments

The configuration of default DisplayAdjustments is already EMPTY.
If there is no override configuration, it doesn't need to set
EMPTY to EMPTY again.

Bug: 436271385
Flag: EXEMPT refacor without logic change
Test: ResourcesManagerPerfTest#getResourcesCached
Change-Id: Ib4f7862c3f7005141308c9ef5f18c16289e26562
parent 30e9018b
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -754,19 +754,6 @@ public class ResourcesManager {
        pw.println(resImpls);
    }

    private Configuration generateConfig(@NonNull ResourcesKey key) {
        Configuration config;
        final boolean hasOverrideConfig = key.hasOverrideConfiguration();
        if (hasOverrideConfig) {
            config = new Configuration(getConfiguration());
            config.updateFrom(key.mOverrideConfiguration);
            if (DEBUG) Slog.v(TAG, "Applied overrideConfig=" + key.mOverrideConfiguration);
        } else {
            config = getConfiguration();
        }
        return config;
    }

    private int generateDisplayId(@NonNull ResourcesKey key) {
        return key.mDisplayId != INVALID_DISPLAY ? key.mDisplayId : mResDisplayId;
    }
@@ -778,10 +765,19 @@ public class ResourcesManager {
            return null;
        }

        final DisplayAdjustments daj = new DisplayAdjustments(key.mOverrideConfiguration);
        final DisplayAdjustments daj;
        final Configuration config;
        if (key.hasOverrideConfiguration()) {
            daj = new DisplayAdjustments(key.mOverrideConfiguration);
            config = new Configuration(getConfiguration());
            config.updateFrom(key.mOverrideConfiguration);
            if (DEBUG) Slog.v(TAG, "Applied overrideConfig=" + key.mOverrideConfiguration);
        } else {
            daj = new DisplayAdjustments();
            config = getConfiguration();
        }
        daj.setCompatibilityInfo(key.mCompatInfo);

        final Configuration config = generateConfig(key);
        final DisplayMetrics displayMetrics = getDisplayMetrics(generateDisplayId(key), daj);
        final ResourcesImpl impl = new ResourcesImpl(assets, displayMetrics, config, daj, true);

@@ -1102,13 +1098,16 @@ public class ResourcesManager {
    private void rebaseKeyForDisplay(ResourcesKey key, int overrideDisplay) {
        final Configuration temp = new Configuration();

        DisplayAdjustments daj = new DisplayAdjustments(key.mOverrideConfiguration);
        final boolean hasOverrideConfiguration = key.hasOverrideConfiguration();
        final DisplayAdjustments daj = hasOverrideConfiguration
                ? new DisplayAdjustments(key.mOverrideConfiguration)
                : new DisplayAdjustments();
        daj.setCompatibilityInfo(key.mCompatInfo);

        final DisplayMetrics dm = getDisplayMetrics(overrideDisplay, daj);
        applyDisplayMetricsToConfiguration(dm, temp);

        if (key.hasOverrideConfiguration()) {
        if (hasOverrideConfiguration) {
            temp.updateFrom(key.mOverrideConfiguration);
        }
        key.mOverrideConfiguration.setTo(temp);