diff options
author | nebkat <nebkat@teamhacksung.org> | 2012-03-01 00:56:17 +0300 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2012-03-01 00:56:17 +0300 |
commit | 7706f2f4c98e5a58a08f3f7edd1f5f51346921de (patch) | |
tree | b6fff4851d6d33263fdf07c968091a57e6c2ef0f /src/com/cyanogenmod/trebuchet/Launcher.java | |
parent | 85009d50913447e929065a4f374c8a65ee2a80a3 (diff) | |
parent | 76c72386989cd2adc30086fb36aa1fdd7304014b (diff) | |
download | android_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.java | 21 |
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 { |