ShortcutManagerUtil: Ensure app has a launch intent
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -10,8 +10,9 @@ object ShortcutManagerUtil {
|
|||||||
|
|
||||||
private const val TAG = "ShortcutManagerUtil"
|
private const val TAG = "ShortcutManagerUtil"
|
||||||
|
|
||||||
fun canPinShortcut(context: Context): Boolean {
|
fun canPinShortcut(context: Context, packageName: String): Boolean {
|
||||||
return ShortcutManagerCompat.isRequestPinShortcutSupported(context)
|
return ShortcutManagerCompat.isRequestPinShortcutSupported(context) &&
|
||||||
|
context.packageManager.getLaunchIntentForPackage(packageName) != null
|
||||||
}
|
}
|
||||||
|
|
||||||
fun requestPinShortcut(context: Context, packageName: String) {
|
fun requestPinShortcut(context: Context, packageName: String) {
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
|||||||
attachActions()
|
attachActions()
|
||||||
binding.layoutDetailsToolbar.toolbar.menu.apply {
|
binding.layoutDetailsToolbar.toolbar.menu.apply {
|
||||||
findItem(R.id.action_home_screen)?.isVisible =
|
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.action_uninstall)?.isVisible = true
|
||||||
findItem(R.id.menu_app_settings)?.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)
|
app.isInstalled = PackageUtil.isInstalled(requireContext(), app.packageName)
|
||||||
|
|
||||||
menu?.findItem(R.id.action_home_screen)?.isVisible =
|
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.action_uninstall)?.isVisible = app.isInstalled
|
||||||
menu?.findItem(R.id.menu_app_settings)?.isVisible = app.isInstalled
|
menu?.findItem(R.id.menu_app_settings)?.isVisible = app.isInstalled
|
||||||
|
|||||||
Reference in New Issue
Block a user