Fix non-persistence of launcher (broken by reordering changes)

Change-Id: I6fb9cb2257844e642df9b5599188b1cfce35df9b
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index 01ab8ec..ce914e1 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -2067,10 +2067,14 @@
         }
         int childCount = mShortcutsAndWidgets.getChildCount();
         for (int i = 0; i < childCount; i++) {
-            LayoutParams lp = (LayoutParams) mShortcutsAndWidgets.getChildAt(i).getLayoutParams();
-            lp.cellX = lp.tmpCellX;
-            lp.cellY = lp.tmpCellY;
+            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;
         }
+        Workspace workspace = (Workspace) getParent();
+        workspace.updateItemLocationsInDatabase(this);
     }
 
     public void setUseTempCoords(boolean useTempCoords) {