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)