mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-01 08:16:49 +00:00
Merge "Only add promise icon if icon is provided in the SessionInfo." into ub-launcher3-qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
505a88140e
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user