Loading src/com/android/launcher3/model/ShortcutsChangedTask.java +5 −3 Original line number Diff line number Diff line Loading @@ -78,10 +78,12 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { if (!matchingWorkspaceItems.isEmpty()) { if (mShortcuts.isEmpty()) { PackageManagerHelper packageManagerHelper = new PackageManagerHelper( app.getContext()); // Verify that the app is indeed installed. if (!new PackageManagerHelper(app.getContext()) .isAppInstalled(mPackageName, mUser)) { // App is not installed, ignoring package events if (!packageManagerHelper.isAppInstalled(mPackageName, mUser) && !packageManagerHelper.isAppArchivedForUser(mPackageName, mUser)) { // App is not installed or archived, ignoring package events return; } } Loading src/com/android/launcher3/util/PackageManagerHelper.java +17 −1 Original line number Diff line number Diff line Loading @@ -104,6 +104,21 @@ public class PackageManagerHelper { return info != null; } /** * Returns whether the target app is archived for a given user */ public boolean isAppArchivedForUser(@NonNull final String packageName, @NonNull final UserHandle user) { if (!Utilities.enableSupportForArchiving()) { return false; } final ApplicationInfo info = getApplicationInfo( // LauncherApps does not support long flags currently. Since archived apps are // subset of uninstalled apps, this filter also includes archived apps. packageName, user, PackageManager.MATCH_UNINSTALLED_PACKAGES); return info != null && info.isArchived; } /** * Returns whether the target app is in archived state */ Loading Loading @@ -251,6 +266,7 @@ public class PackageManagerHelper { /** * Returns true if Launcher has the permission to access shortcuts. * * @see LauncherApps#hasShortcutHostPermission() */ public static boolean hasShortcutsPermission(Context context) { Loading Loading
src/com/android/launcher3/model/ShortcutsChangedTask.java +5 −3 Original line number Diff line number Diff line Loading @@ -78,10 +78,12 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { if (!matchingWorkspaceItems.isEmpty()) { if (mShortcuts.isEmpty()) { PackageManagerHelper packageManagerHelper = new PackageManagerHelper( app.getContext()); // Verify that the app is indeed installed. if (!new PackageManagerHelper(app.getContext()) .isAppInstalled(mPackageName, mUser)) { // App is not installed, ignoring package events if (!packageManagerHelper.isAppInstalled(mPackageName, mUser) && !packageManagerHelper.isAppArchivedForUser(mPackageName, mUser)) { // App is not installed or archived, ignoring package events return; } } Loading
src/com/android/launcher3/util/PackageManagerHelper.java +17 −1 Original line number Diff line number Diff line Loading @@ -104,6 +104,21 @@ public class PackageManagerHelper { return info != null; } /** * Returns whether the target app is archived for a given user */ public boolean isAppArchivedForUser(@NonNull final String packageName, @NonNull final UserHandle user) { if (!Utilities.enableSupportForArchiving()) { return false; } final ApplicationInfo info = getApplicationInfo( // LauncherApps does not support long flags currently. Since archived apps are // subset of uninstalled apps, this filter also includes archived apps. packageName, user, PackageManager.MATCH_UNINSTALLED_PACKAGES); return info != null && info.isArchived; } /** * Returns whether the target app is in archived state */ Loading Loading @@ -251,6 +266,7 @@ public class PackageManagerHelper { /** * Returns true if Launcher has the permission to access shortcuts. * * @see LauncherApps#hasShortcutHostPermission() */ public static boolean hasShortcutsPermission(Context context) { Loading