summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-09-05 19:06:31 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-05 19:06:31 -0700
commit6323a55fe25789b84fa60d5eeb78c7abff6b0ccd (patch)
tree83c10272741a15805486e3e6beccb6066b8a8ed0 /src/com/android/launcher2
parent7a397e0468310e75f39d93fadcd43b7224c9e0c5 (diff)
parent8a4351063f02c0e8d64ee3ace651b227e9f8321f (diff)
downloadandroid_packages_apps_Trebuchet-6323a55fe25789b84fa60d5eeb78c7abff6b0ccd.tar.gz
android_packages_apps_Trebuchet-6323a55fe25789b84fa60d5eeb78c7abff6b0ccd.tar.bz2
android_packages_apps_Trebuchet-6323a55fe25789b84fa60d5eeb78c7abff6b0ccd.zip
Merge "Fixing issue where we were not removing items from LauncherModel and only the add-queue. (Bug 7078244)" into jb-mr1-dev
Diffstat (limited to 'src/com/android/launcher2')
-rw-r--r--src/com/android/launcher2/LauncherModel.java18
-rw-r--r--src/com/android/launcher2/Workspace.java10
2 files changed, 28 insertions, 0 deletions
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 269a0fd60..909cc795f 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -2168,6 +2168,24 @@ public class LauncherModel extends BroadcastReceiver {
}
/**
+ * Returns the set of workspace ShortcutInfos with the specified intent.
+ */
+ static ArrayList<ItemInfo> getWorkspaceShortcutItemInfosWithIntent(Intent intent) {
+ ArrayList<ItemInfo> items = new ArrayList<ItemInfo>();
+ synchronized (sBgLock) {
+ for (ItemInfo info : sBgWorkspaceItems) {
+ if (info instanceof ShortcutInfo) {
+ ShortcutInfo shortcut = (ShortcutInfo) info;
+ if (shortcut.intent.toUri(0).equals(intent.toUri(0))) {
+ items.add(shortcut);
+ }
+ }
+ }
+ }
+ return items;
+ }
+
+ /**
* Make an ShortcutInfo object for a shortcut that isn't an application.
*/
private ShortcutInfo getShortcutInfo(Cursor c, Context context,
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 504f9dcfe..897e95a1f 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -3697,6 +3697,8 @@ public class Workspace extends SmoothPagedView
}
// Clean up new-apps animation list
+ final LauncherModel model = mLauncher.getModel();
+ final Context context = getContext();
post(new Runnable() {
@Override
public void run() {
@@ -3717,6 +3719,14 @@ public class Workspace extends SmoothPagedView
if (packageNames.contains(pn)) {
iter.remove();
}
+
+ // It is possible that we've queued an item to be loaded, yet it has
+ // not been added to the workspace, so remove those items as well.
+ ArrayList<ItemInfo> shortcuts =
+ model.getWorkspaceShortcutItemInfosWithIntent(intent);
+ for (ItemInfo info : shortcuts) {
+ model.deleteItemFromDatabase(context, info);
+ }
} catch (URISyntaxException e) {}
}
}