diff options
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 65 |
1 files changed, 19 insertions, 46 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index ec705aa0e..54b2008bb 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -212,9 +212,6 @@ public class LauncherModel extends BroadcastReceiver public void updatePackageBadge(String packageName); public void bindComponentsRemoved(ArrayList<String> packageNames, ArrayList<AppInfo> appInfos, UserHandleCompat user); - public void bindComponentsUnavailable(ArrayList<String> packageNames, - ArrayList<AppInfo> appInfos); - public void bindComponentsAvailable(ArrayList<ItemInfo> itemInfos); public void bindPackagesUpdated(ArrayList<Object> widgetsAndShortcuts); public void bindSearchablesChanged(); public boolean isAllAppsButtonRank(int rank); @@ -3374,7 +3371,6 @@ public class LauncherModel extends BroadcastReceiver final String[] packages = mPackages; final int N = packages.length; - final ArrayList<String> unavailable = new ArrayList<String>(); switch (mOp) { case OP_ADD: for (int i=0; i<N; i++) { @@ -3398,9 +3394,6 @@ public class LauncherModel extends BroadcastReceiver mBgAllAppsList.removePackage(packages[i], mUser); WidgetPreviewLoader.removePackageFromDb( mApp.getWidgetPreviewCacheDb(), packages[i]); - if (mOp == OP_UNAVAILABLE) { - unavailable.add(packages[i]); - } } break; } @@ -3429,21 +3422,12 @@ public class LauncherModel extends BroadcastReceiver } if (added != null) { - final ArrayList<ItemInfo> addedInfos = new ArrayList<ItemInfo>(added); // Ensure that we add all the workspace applications to the db if (LauncherAppState.isDisableAllApps()) { + final ArrayList<ItemInfo> addedInfos = new ArrayList<ItemInfo>(added); addAndBindAddedWorkspaceApps(context, addedInfos); } else { addAppsToAllApps(context, added); - mHandler.post(new Runnable() { - public void run() { - Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; - if (callbacks == cb && cb != null) { - Log.d(TAG, "bindComponentsAvailable: " + addedInfos.size()); - callbacks.bindComponentsAvailable(addedInfos); - } - } - }); } } @@ -3516,32 +3500,6 @@ public class LauncherModel extends BroadcastReceiver if (mOp == OP_REMOVE) { // Mark all packages in the broadcast to be removed removedPackageNames.addAll(Arrays.asList(packages)); - // Remove all the components associated with this package - for (String pn : removedPackageNames) { - deletePackageFromDatabase(context, pn, mUser); - } - // Remove all the specific components - for (AppInfo a : removedApps) { - ArrayList<ItemInfo> infos = getItemInfoForComponentName(a.componentName, mUser); - deleteItemsFromDatabase(context, infos); - } - if (!removedPackageNames.isEmpty() || !removedApps.isEmpty()) { - // Remove any queued items from the install queue - String spKey = LauncherAppState.getSharedPreferencesKey(); - SharedPreferences sp = - context.getSharedPreferences(spKey, Context.MODE_PRIVATE); - InstallShortcutReceiver.removeFromInstallQueue(sp, removedPackageNames); - // Call the components-removed callback - mHandler.post(new Runnable() { - public void run() { - Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; - if (callbacks == cb && cb != null) { - callbacks.bindComponentsRemoved(removedPackageNames, removedApps, - mUser); - } - } - }); - } } else if (mOp == OP_UPDATE) { // Mark disabled packages in the broadcast to be removed final PackageManager pm = context.getPackageManager(); @@ -3550,13 +3508,28 @@ public class LauncherModel extends BroadcastReceiver removedPackageNames.add(packages[i]); } } - } else if (mOp == OP_UNAVAILABLE) { - // Call the packages-unavailable callback + } + // Remove all the components associated with this package + for (String pn : removedPackageNames) { + deletePackageFromDatabase(context, pn, mUser); + } + // Remove all the specific components + for (AppInfo a : removedApps) { + ArrayList<ItemInfo> infos = getItemInfoForComponentName(a.componentName, mUser); + deleteItemsFromDatabase(context, infos); + } + if (!removedPackageNames.isEmpty() || !removedApps.isEmpty()) { + // Remove any queued items from the install queue + String spKey = LauncherAppState.getSharedPreferencesKey(); + SharedPreferences sp = + context.getSharedPreferences(spKey, Context.MODE_PRIVATE); + InstallShortcutReceiver.removeFromInstallQueue(sp, removedPackageNames); + // Call the components-removed callback mHandler.post(new Runnable() { public void run() { Callbacks cb = mCallbacks != null ? mCallbacks.get() : null; if (callbacks == cb && cb != null) { - callbacks.bindComponentsUnavailable(unavailable, removedApps); + callbacks.bindComponentsRemoved(removedPackageNames, removedApps, mUser); } } }); |