diff options
author | Adam Cohen <adamcohen@google.com> | 2014-02-05 22:25:41 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-02-05 22:25:41 +0000 |
commit | c87c21a0cd168c65c70b59ad12502a2e1a00b9c4 (patch) | |
tree | f39c94c93ec3931a3b20a0cb191b15e5eb79531d /src/com/android/launcher3/LauncherModel.java | |
parent | cb2de6f8a027f43bf40f3f05664bc99bd78b2b00 (diff) | |
parent | 76a47a1b2273c4d7dfab0beeadc1a8387e6a2840 (diff) | |
download | android_packages_apps_Trebuchet-c87c21a0cd168c65c70b59ad12502a2e1a00b9c4.tar.gz android_packages_apps_Trebuchet-c87c21a0cd168c65c70b59ad12502a2e1a00b9c4.tar.bz2 android_packages_apps_Trebuchet-c87c21a0cd168c65c70b59ad12502a2e1a00b9c4.zip |
Merge "Small refactor to separate adding workspace / all apps items" into ub-now-lunchbox
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 6839bb3e5..094d4b701 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -292,17 +292,40 @@ public class LauncherModel extends BroadcastReceiver { return null; } - public void addAndBindAddedApps(final Context context, final ArrayList<ItemInfo> workspaceApps, - final ArrayList<AppInfo> allAppsApps) { - Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; - addAndBindAddedApps(context, workspaceApps, cb, allAppsApps); - } - public void addAndBindAddedApps(final Context context, final ArrayList<ItemInfo> workspaceApps, - final Callbacks callbacks, final ArrayList<AppInfo> allAppsApps) { - if (workspaceApps == null || allAppsApps == null) { + public void addAppsToAllApps(final Context ctx, final ArrayList<AppInfo> allAppsApps) { + final Callbacks callbacks = mCallbacks != null ? mCallbacks.get() : null; + + if (allAppsApps == null) { + throw new RuntimeException("allAppsApps must not be null"); + } + if (allAppsApps.isEmpty()) { + return; + } + + // Process the newly added applications and add them to the database first + Runnable r = new Runnable() { + public void run() { + runOnMainThread(new Runnable() { + public void run() { + Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; + if (callbacks == cb && cb != null) { + callbacks.bindAppsAdded(null, null, null, allAppsApps); + } + } + }); + } + }; + runOnWorkerThread(r); + } + + public void addAndBindAddedWorkspaceApps(final Context context, + final ArrayList<ItemInfo> workspaceApps) { + final Callbacks callbacks = mCallbacks != null ? mCallbacks.get() : null; + + if (workspaceApps == null) { throw new RuntimeException("workspaceApps and allAppsApps must not be null"); } - if (workspaceApps.isEmpty() && allAppsApps.isEmpty()) { + if (workspaceApps.isEmpty()) { return; } // Process the newly added applications and add them to the database first @@ -385,7 +408,7 @@ public class LauncherModel extends BroadcastReceiver { // Update the workspace screens updateWorkspaceScreenOrder(context, workspaceScreens); - if (!addedShortcutsFinal.isEmpty() || !allAppsApps.isEmpty()) { + if (!addedShortcutsFinal.isEmpty()) { runOnMainThread(new Runnable() { public void run() { Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; @@ -404,7 +427,7 @@ public class LauncherModel extends BroadcastReceiver { } } callbacks.bindAppsAdded(addedWorkspaceScreensFinal, - addNotAnimated, addAnimated, allAppsApps); + addNotAnimated, addAnimated, null); } } }); @@ -1561,8 +1584,7 @@ public class LauncherModel extends BroadcastReceiver { } } if (!added.isEmpty()) { - Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; - addAndBindAddedApps(context, added, cb, new ArrayList<AppInfo>()); + addAndBindAddedWorkspaceApps(context, added); } } @@ -2642,14 +2664,14 @@ public class LauncherModel extends BroadcastReceiver { if (added != null) { // Ensure that we add all the workspace applications to the db - Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; - if (!LauncherAppState.isDisableAllApps()) { - addAndBindAddedApps(context, new ArrayList<ItemInfo>(), cb, added); - } else { + if (LauncherAppState.isDisableAllApps()) { final ArrayList<ItemInfo> addedInfos = new ArrayList<ItemInfo>(added); - addAndBindAddedApps(context, addedInfos, cb, added); + addAndBindAddedWorkspaceApps(context, addedInfos); + } else { + addAppsToAllApps(context, added); } } + if (modified != null) { final ArrayList<AppInfo> modifiedFinal = modified; |