From 545c424bd5674723234d4f8fa684c1d23109bf63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Fri, 22 Sep 2023 10:45:51 +0200 Subject: [PATCH] Do a check for shortcut host permissions before pinning a shortcut --- .../launcher/activities/MainActivity.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt index db3e12e..4844fc4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt @@ -233,12 +233,14 @@ class MainActivity : SimpleActivity(), FlingListener { REQUEST_CREATE_SHORTCUT -> { if (resultCode == Activity.RESULT_OK && resultData != null) { val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps - val item = launcherApps.getPinItemRequest(resultData) - if (item.accept()) { - val shortcutId = item.shortcutInfo?.id!! - val label = item.shortcutInfo.getLabel() - val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi) - mActionOnAddShortcut?.invoke(shortcutId, label, icon) + if (launcherApps.hasShortcutHostPermission()) { + val item = launcherApps.getPinItemRequest(resultData) + if (item.accept()) { + val shortcutId = item.shortcutInfo?.id!! + val label = item.shortcutInfo.getLabel() + val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi) + mActionOnAddShortcut?.invoke(shortcutId, label, icon) + } } } }