From c207221c4d68a607237148b728c0622e174e8410 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 11 Dec 2020 19:23:21 +0530 Subject: [PATCH] Fix crash when shortcut is deleted if it is having null package name --- .../features/launcher/LauncherActivity.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java index 68f7cc5aee..19027459ed 100755 --- a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java @@ -520,7 +520,7 @@ public class LauncherActivity extends AppCompatActivity implements } public void onAppAddEvent(AppAddEvent appAddEvent) { - updateOrAddApp(appAddEvent.getPackageName(),appAddEvent.getUserHandle()); + updateOrAddApp(appAddEvent.getPackageName(), appAddEvent.getUserHandle()); //DatabaseManager.getManager(this).saveLayouts(pages, mDock); if (moveTo != -1) { mHorizontalPager.setCurrentPage(moveTo); @@ -1984,11 +1984,18 @@ public class LauncherActivity extends AppCompatActivity implements .setMessage(R.string.uninstall_shortcut_dialog) .setPositiveButton(R.string.ok, (dialog1, which) -> { ShortcutItem shortcut = (ShortcutItem) launcherItem; - DeepShortcutManager.getInstance(this).unpinShortcut(ShortcutKey.fromItem(shortcut)); - if (DeepShortcutManager.getInstance(this).wasLastCallSuccess()) { + if (shortcut.packageName != null) { + DeepShortcutManager.getInstance(this).unpinShortcut(ShortcutKey.fromItem(shortcut)); + if (DeepShortcutManager.getInstance(this).wasLastCallSuccess()) { + deleteShortcutFromProvider(shortcut.id); + removeShortcutView(shortcut, blissFrameLayout); + } + } else { + // Null package name generally comes for nougat shortcuts so don't unpin here, just directly delete it. deleteShortcutFromProvider(shortcut.id); removeShortcutView(shortcut, blissFrameLayout); } + }) .setNegativeButton(R.string.cancel, null) .setIcon(launcherItem.icon) -- GitLab