summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r--src/com/android/launcher3/LauncherModel.java65
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);
}
}
});