diff options
author | Winson Chung <winsonc@google.com> | 2013-05-01 16:53:33 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2013-05-03 14:47:51 -0700 |
commit | 83892cc0768bd6d7f0827886e9e7a2eb3eed2b01 (patch) | |
tree | f1c49511bade85d7cdc57e5001c8b361ebc48615 /src/com/android/launcher2/DragController.java | |
parent | 81426b9bfee67c1313f59629e9dca523fe2c46d1 (diff) | |
download | android_packages_apps_Trebuchet-83892cc0768bd6d7f0827886e9e7a2eb3eed2b01.tar.gz android_packages_apps_Trebuchet-83892cc0768bd6d7f0827886e9e7a2eb3eed2b01.tar.bz2 android_packages_apps_Trebuchet-83892cc0768bd6d7f0827886e9e7a2eb3eed2b01.zip |
Fixing issue where updating the visibility of one application can trigger all icons to disappear. (Bug 8757421)
- Also queueing bindComponentsRemoved() and bindPackagesUpdated() to wait for resume (Bug 8594153)
Change-Id: I44028fe79f6fa6bcd6b829e36f3f5b9ed756dc4d
Diffstat (limited to 'src/com/android/launcher2/DragController.java')
-rw-r--r-- | src/com/android/launcher2/DragController.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java index 78afe5704..d15cb6e06 100644 --- a/src/com/android/launcher2/DragController.java +++ b/src/com/android/launcher2/DragController.java @@ -328,18 +328,19 @@ public class DragController { } endDrag(); } - public void onAppsRemoved(ArrayList<String> packageNames, Context context) { + public void onAppsRemoved(ArrayList<ApplicationInfo> appInfos, Context context) { // Cancel the current drag if we are removing an app that we are dragging if (mDragObject != null) { Object rawDragInfo = mDragObject.dragInfo; if (rawDragInfo instanceof ShortcutInfo) { ShortcutInfo dragInfo = (ShortcutInfo) rawDragInfo; - for (String pn : packageNames) { + for (ApplicationInfo info : appInfos) { // Added null checks to prevent NPE we've seen in the wild if (dragInfo != null && dragInfo.intent != null) { - boolean isSamePackage = dragInfo.getPackageName().equals(pn); - if (isSamePackage) { + boolean isSameComponent = + dragInfo.intent.getComponent().equals(info.componentName); + if (isSameComponent) { cancelDrag(); return; } |