diff options
author | Winson Chung <winsonc@google.com> | 2012-09-05 19:06:31 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-05 19:06:31 -0700 |
commit | 6323a55fe25789b84fa60d5eeb78c7abff6b0ccd (patch) | |
tree | 83c10272741a15805486e3e6beccb6066b8a8ed0 /src | |
parent | 7a397e0468310e75f39d93fadcd43b7224c9e0c5 (diff) | |
parent | 8a4351063f02c0e8d64ee3ace651b227e9f8321f (diff) | |
download | android_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')
-rw-r--r-- | src/com/android/launcher2/LauncherModel.java | 18 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 10 |
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) {} } } |