diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-09-03 16:27:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-09-03 16:27:11 +0000 |
commit | 505a88140e442c3bb1256b2bd73f0705d2bfe600 (patch) | |
tree | 20c9ec99490ef9959a3c94cd665f1dfc674d151d /src | |
parent | a42681f6d28d611a42ffc0cf40db3c3b92bd59f4 (diff) | |
parent | a8c7c0b713df06970e874cccaf30fe5191c3cdf2 (diff) | |
download | android_packages_apps_Trebuchet-505a88140e442c3bb1256b2bd73f0705d2bfe600.tar.gz android_packages_apps_Trebuchet-505a88140e442c3bb1256b2bd73f0705d2bfe600.tar.bz2 android_packages_apps_Trebuchet-505a88140e442c3bb1256b2bd73f0705d2bfe600.zip |
Merge "Only add promise icon if icon is provided in the SessionInfo." into ub-launcher3-qt-qpr1-dev
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/compat/PackageInstallerCompatVL.java | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java index e1f17cf46..bca66f7db 100644 --- a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java +++ b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java @@ -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) { |