summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r--src/com/android/launcher3/Launcher.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index e82f5b03b..edca71f28 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -2948,6 +2948,25 @@ public class Launcher extends Activity
throw new IllegalArgumentException("Input must be a Shortcut or AppInfo");
}
+ final ComponentName componentName = intent.getComponent();
+ if(componentName != null){
+ String name = componentName.getPackageName();
+ PackageManager packageManager = getPackageManager();
+
+ try{
+ String sourceDir = (packageManager.getApplicationInfo(name, 0)).sourceDir;
+
+ if(!new File(sourceDir).exists()){
+ Toast.makeText(this, R.string.activity_not_found,
+ Toast.LENGTH_SHORT).show();
+ return;
+ }
+ } catch (NameNotFoundException e) {
+ Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT).show();
+ return;
+ }
+ }
+
boolean success = startActivitySafely(v, intent, tag);
mStats.recordLaunch(intent, shortcut);