Merge pull request #142 from esensar/fix/shortcut-pin-crash

Do a check for shortcut host permissions before pinning a shortcut
This commit is contained in:
Tibor Kaputa 2023-09-22 11:46:56 +02:00 committed by GitHub
commit bb90255e34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 6 deletions

View File

@ -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)
}
}
}
}