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 027f5e69..9cf7869f 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 cf409ac4..3e8a7bf8 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)