diff options
author | Winson Chung <winsonc@google.com> | 2012-04-27 15:12:38 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2012-04-27 15:15:11 -0700 |
commit | 11a4937fbff0dbc50fb022513dc3b6c643154445 (patch) | |
tree | a602fc06eae7006b840fc84c47c1497f15a6619c /src/com/android/launcher2/InfoDropTarget.java | |
parent | 9cfcb39bffaffe2123cc6e6a39b4e32ee440fda5 (diff) | |
download | android_packages_apps_Trebuchet-11a4937fbff0dbc50fb022513dc3b6c643154445.tar.gz android_packages_apps_Trebuchet-11a4937fbff0dbc50fb022513dc3b6c643154445.tar.bz2 android_packages_apps_Trebuchet-11a4937fbff0dbc50fb022513dc3b6c643154445.zip |
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
Diffstat (limited to 'src/com/android/launcher2/InfoDropTarget.java')
-rw-r--r-- | src/com/android/launcher2/InfoDropTarget.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/launcher2/InfoDropTarget.java b/src/com/android/launcher2/InfoDropTarget.java index 2e0b5c827..134f4cb56 100644 --- a/src/com/android/launcher2/InfoDropTarget.java +++ b/src/com/android/launcher2/InfoDropTarget.java @@ -16,6 +16,7 @@ package com.android.launcher2; +import android.appwidget.AppWidgetProviderInfo; import android.content.ComponentName; import android.content.Context; import android.content.res.ColorStateList; @@ -62,8 +63,8 @@ public class InfoDropTarget extends ButtonDropTarget { } } - private boolean isAllAppsApplication(DragSource source, Object info) { - return (source instanceof AppsCustomizePagedView) && (info instanceof ApplicationInfo); + private boolean isFromAllApps(DragSource source) { + return (source instanceof AppsCustomizePagedView); } @Override @@ -76,6 +77,8 @@ public class InfoDropTarget extends ButtonDropTarget { componentName = ((ApplicationInfo) d.dragInfo).componentName; } else if (d.dragInfo instanceof ShortcutInfo) { componentName = ((ShortcutInfo) d.dragInfo).intent.getComponent(); + } else if (d.dragInfo instanceof PendingAddItemInfo) { + componentName = ((PendingAddItemInfo) d.dragInfo).componentName; } if (componentName != null) { mLauncher.startApplicationDetailsActivity(componentName); @@ -90,8 +93,8 @@ public class InfoDropTarget extends ButtonDropTarget { public void onDragStart(DragSource source, Object info, int dragAction) { boolean isVisible = true; - // If we are dragging a widget or shortcut, hide the info target - if (!isAllAppsApplication(source, info)) { + // Hide this button unless we are dragging something from AllApps + if (!isFromAllApps(source)) { isVisible = false; } |