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

Commit 505a8814 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Only add promise icon if icon is provided in the SessionInfo." into ub-launcher3-qt-qpr1-dev

parents a42681f6 a8c7c0b7
Loading
Loading
Loading
Loading
+24 −11
Original line number Diff line number Diff line
@@ -136,6 +136,25 @@ public class PackageInstallerCompatVL extends PackageInstallerCompat {
        }
    }

    /**
     * Add a promise app icon to the workspace iff:
     * - The settings for it are enabled
     * - The user installed the app
     * - There is a provided app icon (For apps with no launching activity, no icon is provided).
     */
    private void tryQueuePromiseAppIcon(SessionInfo sessionInfo) {
        if (Utilities.ATLEAST_OREO && FeatureFlags.PROMISE_APPS_NEW_INSTALLS.get()
                && SessionCommitReceiver.isEnabled(mAppContext)
                && sessionInfo != null
                && sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER
                && sessionInfo.getAppIcon() != null
                && !mPromiseIconIds.contains(sessionInfo.getSessionId())) {
            SessionCommitReceiver.queuePromiseAppIconAddition(mAppContext, sessionInfo);
            mPromiseIconIds.add(sessionInfo.getSessionId());
            updatePromiseIconPrefs();
        }
    }

    private final SessionCallback mCallback = new SessionCallback() {

        @Override
@@ -149,16 +168,7 @@ public class PackageInstallerCompatVL extends PackageInstallerCompat {
                }
            }

            if (Utilities.ATLEAST_OREO && FeatureFlags.PROMISE_APPS_NEW_INSTALLS.get()
                    && SessionCommitReceiver.isEnabled(mAppContext)
                    && sessionInfo != null
                    && sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER) {
                SessionCommitReceiver.queuePromiseAppIconAddition(mAppContext, sessionInfo);
                if (!mPromiseIconIds.contains(sessionInfo.getSessionId())) {
                    mPromiseIconIds.add(sessionInfo.getSessionId());
                    updatePromiseIconPrefs();
                }
            }
            tryQueuePromiseAppIcon(sessionInfo);
        }

        @Override
@@ -196,7 +206,10 @@ public class PackageInstallerCompatVL extends PackageInstallerCompat {

        @Override
        public void onBadgingChanged(int sessionId) {
            pushSessionDisplayToLauncher(sessionId);
            SessionInfo sessionInfo = pushSessionDisplayToLauncher(sessionId);
            if (sessionInfo != null) {
                tryQueuePromiseAppIcon(sessionInfo);
            }
        }

        private SessionInfo pushSessionDisplayToLauncher(int sessionId) {