diff --git a/app/src/main/java/com/aurora/store/util/ShortcutManagerUtil.kt b/app/src/main/java/com/aurora/store/util/ShortcutManagerUtil.kt index 34c690055..97e62a01f 100644 --- a/app/src/main/java/com/aurora/store/util/ShortcutManagerUtil.kt +++ b/app/src/main/java/com/aurora/store/util/ShortcutManagerUtil.kt @@ -10,8 +10,9 @@ object ShortcutManagerUtil { private const val TAG = "ShortcutManagerUtil" - fun canPinShortcut(context: Context): Boolean { - return ShortcutManagerCompat.isRequestPinShortcutSupported(context) + fun canPinShortcut(context: Context, packageName: String): Boolean { + return ShortcutManagerCompat.isRequestPinShortcutSupported(context) && + context.packageManager.getLaunchIntentForPackage(packageName) != null } fun requestPinShortcut(context: Context, packageName: String) { diff --git a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt index 53879ad59..12031f958 100644 --- a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt @@ -158,7 +158,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { attachActions() binding.layoutDetailsToolbar.toolbar.menu.apply { findItem(R.id.action_home_screen)?.isVisible = - ShortcutManagerUtil.canPinShortcut(requireContext()) + ShortcutManagerUtil.canPinShortcut(requireContext(), app.packageName) findItem(R.id.action_uninstall)?.isVisible = true findItem(R.id.menu_app_settings)?.isVisible = true } @@ -418,7 +418,10 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { app.isInstalled = PackageUtil.isInstalled(requireContext(), app.packageName) menu?.findItem(R.id.action_home_screen)?.isVisible = - app.isInstalled && ShortcutManagerUtil.canPinShortcut(requireContext()) + app.isInstalled && ShortcutManagerUtil.canPinShortcut( + requireContext(), + app.packageName + ) menu?.findItem(R.id.action_uninstall)?.isVisible = app.isInstalled menu?.findItem(R.id.menu_app_settings)?.isVisible = app.isInstalled