diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4d9b76b8c2..c37153640f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -596,4 +596,5 @@
By disabling device admin, you will not be able to use double tap to lock on your home screen.
\"%s\" has been applied successfully!
+ Opening app failed
diff --git a/src/ch/deletescape/lawnchair/gestures/handlers/LauncherGestureHandlers.kt b/src/ch/deletescape/lawnchair/gestures/handlers/LauncherGestureHandlers.kt
index 441c19bcf0..2f7c8d514f 100644
--- a/src/ch/deletescape/lawnchair/gestures/handlers/LauncherGestureHandlers.kt
+++ b/src/ch/deletescape/lawnchair/gestures/handlers/LauncherGestureHandlers.kt
@@ -4,10 +4,12 @@ import android.content.Context
import android.content.Intent
import android.os.UserHandle
import android.support.annotation.Keep
+import android.widget.Toast
import ch.deletescape.lawnchair.gestures.GestureController
import ch.deletescape.lawnchair.gestures.GestureHandler
import ch.deletescape.lawnchair.gestures.ui.SelectAppActivity
import com.android.launcher3.R
+import com.android.launcher3.Utilities
import com.android.launcher3.compat.LauncherAppsCompat
import com.android.launcher3.compat.UserManagerCompat
import com.android.launcher3.shortcuts.DeepShortcutManager
@@ -159,8 +161,13 @@ class StartAppGestureHandler(context: Context, config: JSONObject?) : GestureHan
override fun onGestureTrigger(controller: GestureController) {
when (type) {
"app" -> {
- LauncherAppsCompat.getInstance(context)
- .startActivityForProfile(target!!.componentName, target!!.user, null, null)
+ try {
+ LauncherAppsCompat.getInstance(context)
+ .startActivityForProfile(target!!.componentName, target!!.user, null, null)
+ } catch (e: NullPointerException){
+ // App is probably not installed anymore, show a Toast
+ Toast.makeText(context, R.string.app_gesture_failed_toast, Toast.LENGTH_LONG).show()
+ }
}
"shortcut" -> {
DeepShortcutManager.getInstance(context)