summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2014-10-16 12:18:37 -0700
committerSunny Goyal <sunnygoyal@google.com>2014-10-16 12:29:57 -0700
commitfc0fe6b9be040122bc6047ef7f91b20fc8ead9cc (patch)
treee836aeea9ac6498f9a11149e00ec41e8c71c490c /src/com/android
parentd37a1f5abec5a442508d850a0e26c96ece225f91 (diff)
downloadandroid_packages_apps_Trebuchet-fc0fe6b9be040122bc6047ef7f91b20fc8ead9cc.tar.gz
android_packages_apps_Trebuchet-fc0fe6b9be040122bc6047ef7f91b20fc8ead9cc.tar.bz2
android_packages_apps_Trebuchet-fc0fe6b9be040122bc6047ef7f91b20fc8ead9cc.zip
Deleting workspace items from db which have an invalid placement
Change-Id: I1d616e8cd533acd6ecd334d85e6468163f31f6a4
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/launcher3/LauncherModel.java28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index f747423e6..3055dd099 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -1758,8 +1758,7 @@ public class LauncherModel extends BroadcastReceiver
}
// check & update map of what's occupied; used to discard overlapping/invalid items
- private boolean checkItemPlacement(HashMap<Long, ItemInfo[][]> occupied, ItemInfo item,
- AtomicBoolean deleteOnInvalidPlacement) {
+ private boolean checkItemPlacement(HashMap<Long, ItemInfo[][]> occupied, ItemInfo item) {
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
final int countX = (int) grid.numColumns;
@@ -1770,7 +1769,6 @@ public class LauncherModel extends BroadcastReceiver
// Return early if we detect that an item is under the hotseat button
if (mCallbacks == null ||
mCallbacks.get().isAllAppsButtonRank((int) item.screenId)) {
- deleteOnInvalidPlacement.set(true);
Log.e(TAG, "Error loading shortcut into hotseat " + item
+ " into position (" + item.screenId + ":" + item.cellX + ","
+ item.cellY + ") occupied by all apps");
@@ -1967,7 +1965,6 @@ public class LauncherModel extends BroadcastReceiver
UserHandleCompat user;
while (!mStopped && c.moveToNext()) {
- AtomicBoolean deleteOnInvalidPlacement = new AtomicBoolean(false);
try {
int itemType = c.getInt(itemTypeIndex);
boolean restored = 0 != c.getInt(restoredIndex);
@@ -2145,11 +2142,8 @@ public class LauncherModel extends BroadcastReceiver
}
// check & update map of what's occupied
- deleteOnInvalidPlacement.set(false);
- if (!checkItemPlacement(occupied, info, deleteOnInvalidPlacement)) {
- if (deleteOnInvalidPlacement.get()) {
- itemsToRemove.add(id);
- }
+ if (!checkItemPlacement(occupied, info)) {
+ itemsToRemove.add(id);
break;
}
@@ -2190,12 +2184,8 @@ public class LauncherModel extends BroadcastReceiver
folderInfo.spanY = 1;
// check & update map of what's occupied
- deleteOnInvalidPlacement.set(false);
- if (!checkItemPlacement(occupied, folderInfo,
- deleteOnInvalidPlacement)) {
- if (deleteOnInvalidPlacement.get()) {
- itemsToRemove.add(id);
- }
+ if (!checkItemPlacement(occupied, folderInfo)) {
+ itemsToRemove.add(id);
break;
}
@@ -2303,12 +2293,8 @@ public class LauncherModel extends BroadcastReceiver
appWidgetInfo.container = c.getInt(containerIndex);
// check & update map of what's occupied
- deleteOnInvalidPlacement.set(false);
- if (!checkItemPlacement(occupied, appWidgetInfo,
- deleteOnInvalidPlacement)) {
- if (deleteOnInvalidPlacement.get()) {
- itemsToRemove.add(id);
- }
+ if (!checkItemPlacement(occupied, appWidgetInfo)) {
+ itemsToRemove.add(id);
break;
}