Do a check for shortcut host permissions before pinning a shortcut

This commit is contained in:
Ensar Sarajčić 2023-09-22 10:45:51 +02:00
parent 2614be4f42
commit 545c424bd5
1 changed files with 8 additions and 6 deletions

View File

@ -233,12 +233,14 @@ class MainActivity : SimpleActivity(), FlingListener {
REQUEST_CREATE_SHORTCUT -> { REQUEST_CREATE_SHORTCUT -> {
if (resultCode == Activity.RESULT_OK && resultData != null) { if (resultCode == Activity.RESULT_OK && resultData != null) {
val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
val item = launcherApps.getPinItemRequest(resultData) if (launcherApps.hasShortcutHostPermission()) {
if (item.accept()) { val item = launcherApps.getPinItemRequest(resultData)
val shortcutId = item.shortcutInfo?.id!! if (item.accept()) {
val label = item.shortcutInfo.getLabel() val shortcutId = item.shortcutInfo?.id!!
val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi) val label = item.shortcutInfo.getLabel()
mActionOnAddShortcut?.invoke(shortcutId, label, icon) val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)
mActionOnAddShortcut?.invoke(shortcutId, label, icon)
}
} }
} }
} }