From 417deef01cd80124aafe1ec444cc44d8bfec8036 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 9 Oct 2022 20:12:59 +0200 Subject: [PATCH] make sure casual static shortcuts work too --- .../launcher/activities/MainActivity.kt | 17 +++++++++++------ .../launcher/extensions/Activity.kt | 1 + 2 files changed, 12 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 027f5e6..9cf7869 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt @@ -391,12 +391,17 @@ class MainActivity : SimpleActivity(), FlingListener { if (clickedGridItem.type == ITEM_TYPE_ICON) { launchApp(clickedGridItem.packageName) } else if (clickedGridItem.type == ITEM_TYPE_SHORTCUT) { - val id = clickedGridItem.shortcutId - val packageName = clickedGridItem.packageName - val userHandle = android.os.Process.myUserHandle() - val shortcutBounds = home_screen_grid.getClickableRect(clickedGridItem) - val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps - launcherApps.startShortcut(packageName, id, shortcutBounds, null, userHandle) + if (clickedGridItem.intent.isNotEmpty()) { + launchShortcutIntent(clickedGridItem) + } else { + // launch pinned shortcuts + val id = clickedGridItem.shortcutId + val packageName = clickedGridItem.packageName + val userHandle = android.os.Process.myUserHandle() + val shortcutBounds = home_screen_grid.getClickableRect(clickedGridItem) + val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps + launcherApps.startShortcut(packageName, id, shortcutBounds, null, userHandle) + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Activity.kt index cf409ac..3e8a7bf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Activity.kt @@ -38,6 +38,7 @@ fun Activity.uninstallApp(packageName: String) { } } +// launch static or dynamic shortcuts that have intents as string fun Activity.launchShortcutIntent(item: HomeScreenGridItem) { try { val intent = Intent.parseUri(item.intent, 0)