Fixing issue where shortcuts and widgets were not being removed when the package was uninstalled (Bug 2657997, Bug 6335843)

- Also fixes issue if we are dragging a shortcut/widget and it is removed.
- Also exposes App Info for shortcuts and widgets

Change-Id: I3bd5056f50f20e8b277dde6456df26eac815bcde
This commit is contained in:
Winson Chung
2012-04-27 15:12:38 -07:00
parent 9cfcb39bff
commit 11a4937fbf
7 changed files with 35 additions and 25 deletions
+4 -5
View File
@@ -3602,7 +3602,7 @@ public class Workspace extends SmoothPagedView
final Intent intent = info.intent;
final ComponentName name = intent.getComponent();
if (Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
if (name != null) {
for (String packageName: packageNames) {
if (packageName.equals(name.getPackageName())) {
LauncherModel.deleteItemFromDatabase(mLauncher, info);
@@ -3622,7 +3622,7 @@ public class Workspace extends SmoothPagedView
final Intent intent = appInfo.intent;
final ComponentName name = intent.getComponent();
if (Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
if (name != null) {
for (String packageName: packageNames) {
if (packageName.equals(name.getPackageName())) {
appsToRemoveFromFolder.add(appInfo);
@@ -3636,11 +3636,10 @@ public class Workspace extends SmoothPagedView
}
} else if (tag instanceof LauncherAppWidgetInfo) {
final LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) tag;
final AppWidgetProviderInfo provider =
widgets.getAppWidgetInfo(info.appWidgetId);
final ComponentName provider = info.providerName;
if (provider != null) {
for (String packageName: packageNames) {
if (packageName.equals(provider.provider.getPackageName())) {
if (packageName.equals(provider.getPackageName())) {
LauncherModel.deleteItemFromDatabase(mLauncher, info);
childrenToRemove.add(view);
}