summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher2/CellLayout.java13
-rw-r--r--src/com/android/launcher2/Workspace.java8
2 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index fb319fe0c..5aa39c425 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -57,6 +57,7 @@ import java.util.Stack;
public class CellLayout extends ViewGroup {
static final String TAG = "CellLayout";
+ private Launcher mLauncher;
private int mOriginalCellWidth;
private int mOriginalCellHeight;
private int mCellWidth;
@@ -175,6 +176,7 @@ public class CellLayout extends ViewGroup {
// A ViewGroup usually does not draw, but CellLayout needs to draw a rectangle to show
// the user where a dragged item will land when dropped.
setWillNotDraw(false);
+ mLauncher = (Launcher) context;
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CellLayout, defStyle, 0);
@@ -2071,11 +2073,14 @@ public class CellLayout extends ViewGroup {
View child = mShortcutsAndWidgets.getChildAt(i);
LayoutParams lp = (LayoutParams) child.getLayoutParams();
ItemInfo info = (ItemInfo) child.getTag();
- info.cellX = lp.cellX = lp.tmpCellX;
- info.cellY = lp.cellY = lp.tmpCellY;
+ // We do a null check here because the item info can be null in the case of the
+ // AllApps button in the hotseat.
+ if (info != null) {
+ info.cellX = lp.cellX = lp.tmpCellX;
+ info.cellY = lp.cellY = lp.tmpCellY;
+ }
}
- Workspace workspace = (Workspace) getParent();
- workspace.updateItemLocationsInDatabase(this);
+ mLauncher.getWorkspace().updateItemLocationsInDatabase(this);
}
public void setUseTempCoords(boolean useTempCoords) {
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 2b69a1276..0ef6fd96f 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -3353,9 +3353,11 @@ public class Workspace extends SmoothPagedView
for (int i = 0; i < count; i++) {
View v = cl.getShortcutsAndWidgets().getChildAt(i);
ItemInfo info = (ItemInfo) v.getTag();
-
- LauncherModel.moveItemInDatabase(mLauncher, info, Favorites.CONTAINER_DESKTOP, screen,
- info.cellX, info.cellY);
+ // Null check required as the AllApps button doesn't have an item info
+ if (info != null) {
+ LauncherModel.moveItemInDatabase(mLauncher, info, Favorites.CONTAINER_DESKTOP,
+ screen, info.cellX, info.cellY);
+ }
}
}