summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/trebuchet/Launcher.java
diff options
context:
space:
mode:
authornebkat <nebkat@teamhacksung.org>2012-03-01 00:56:17 +0300
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2012-03-01 00:56:17 +0300
commit7706f2f4c98e5a58a08f3f7edd1f5f51346921de (patch)
treeb6fff4851d6d33263fdf07c968091a57e6c2ef0f /src/com/cyanogenmod/trebuchet/Launcher.java
parent85009d50913447e929065a4f374c8a65ee2a80a3 (diff)
parent76c72386989cd2adc30086fb36aa1fdd7304014b (diff)
downloadandroid_packages_apps_Trebuchet-7706f2f4c98e5a58a08f3f7edd1f5f51346921de.tar.gz
android_packages_apps_Trebuchet-7706f2f4c98e5a58a08f3f7edd1f5f51346921de.tar.bz2
android_packages_apps_Trebuchet-7706f2f4c98e5a58a08f3f7edd1f5f51346921de.zip
Merge "DeleteDropTarget: Long-Hold To Uninstall" into ics
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/Launcher.java')
-rw-r--r--src/com/cyanogenmod/trebuchet/Launcher.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java
index 1d4757e33..cf1ccd88d 100644
--- a/src/com/cyanogenmod/trebuchet/Launcher.java
+++ b/src/com/cyanogenmod/trebuchet/Launcher.java
@@ -47,6 +47,7 @@ import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.ContentObserver;
@@ -1879,6 +1880,26 @@ public final class Launcher extends Activity
}
}
+ void startShortcutUninstallActivity(ShortcutInfo shortcutInfo) {
+ PackageManager pm = getPackageManager();
+ ResolveInfo resolveInfo = pm.resolveActivity(shortcutInfo.intent, 0);
+ if ((resolveInfo.activityInfo.applicationInfo.flags &
+ android.content.pm.ApplicationInfo.FLAG_SYSTEM) != 0) {
+ // System applications cannot be installed. For now, show a toast explaining that.
+ // We may give them the option of disabling apps this way.
+ int messageId = R.string.uninstall_system_app_text;
+ Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show();
+ } else {
+ String packageName = shortcutInfo.intent.getComponent().getPackageName();
+ String className = shortcutInfo.intent.getComponent().getClassName();
+ Intent intent = new Intent(
+ Intent.ACTION_DELETE, Uri.fromParts("package", packageName, className));
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
+ Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+ startActivity(intent);
+ }
+ }
+
boolean startActivitySafely(Intent intent, Object tag) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {