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

Commit deffd096 authored by Ryan Mitchell's avatar Ryan Mitchell Committed by Android (Google) Code Review
Browse files

Merge "RRO: Fix black screen flashes for splits" into pi-dev

parents 11374c88 d41d0db0
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -389,16 +389,11 @@ public final class OverlayManagerService extends SystemService {
                    final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId,
                            false);
                    if (pi != null) {
                        /*
                         * Only update overlay settings when an overlay becomes enabled or disabled.
                         * Enabling or disabling components of a target should not change the
                         * target's overlays. Since, overlays do not have components, this will only
                         * update overlay settings if an overlay package becomes enabled or
                         * disabled.
                         */
                        mPackageManager.cachePackageInfo(packageName, userId, pi);
                        if (pi.isOverlayPackage()) {
                            mImpl.onOverlayPackageChanged(packageName, userId);
                        }  else {
                            mImpl.onTargetPackageChanged(packageName, userId);
                        }
                    }
                }
+15 −6
Original line number Diff line number Diff line
@@ -212,15 +212,21 @@ final class OverlayManagerServiceImpl {
        }
    }

    void onTargetPackageChanged(@NonNull final String packageName, final int userId) {
        if (DEBUG) {
            Slog.d(TAG, "onTargetPackageChanged packageName=" + packageName + " userId=" + userId);
        }

        updateAllOverlaysForTarget(packageName, userId, 0);
    }

    void onTargetPackageUpgrading(@NonNull final String packageName, final int userId) {
        if (DEBUG) {
            Slog.d(TAG, "onTargetPackageUpgrading packageName=" + packageName + " userId="
                    + userId);
        }

        if (updateAllOverlaysForTarget(packageName, userId, FLAG_TARGET_IS_UPGRADING)) {
            mListener.onOverlaysChanged(packageName, userId);
        }
        updateAllOverlaysForTarget(packageName, userId, FLAG_TARGET_IS_UPGRADING);
    }

    void onTargetPackageUpgraded(@NonNull final String packageName, final int userId) {
@@ -228,9 +234,7 @@ final class OverlayManagerServiceImpl {
            Slog.d(TAG, "onTargetPackageUpgraded packageName=" + packageName + " userId=" + userId);
        }

        if (updateAllOverlaysForTarget(packageName, userId, 0)) {
            mListener.onOverlaysChanged(packageName, userId);
        }
        updateAllOverlaysForTarget(packageName, userId, 0);
    }

    void onTargetPackageRemoved(@NonNull final String packageName, final int userId) {
@@ -688,6 +692,11 @@ final class OverlayManagerServiceImpl {
    }

    interface OverlayChangeListener {

        /**
         * An event triggered by changes made to overlay state or settings as well as changes that
         * add or remove target packages of overlays.
         **/
        void onOverlaysChanged(@NonNull String targetPackage, int userId);
    }