Adding additional debugging code to track screen id updates.

Change-Id: I1749ab998a4c213b32f1160d5d21f21b2f30e389
diff --git a/print_db.py b/print_db.py
index f0fc45e..6caa7bb 100755
--- a/print_db.py
+++ b/print_db.py
@@ -140,6 +140,10 @@
   hotseatIdMap = []
   HOTSEAT_SIZE = 0
   for d in data:
+    if d["spanX"] is None:
+      d["spanX"] = 1
+    if d["spanY"] is None:
+      d["spanY"] = 1
     if d["container"] == CONTAINER_DESKTOP:
       if d["screen"] not in screensIdMap:
         screensIdMap.append(d["screen"])
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index bd343ea..1f4c120 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3529,6 +3529,7 @@
     public void bindAddScreens(ArrayList<Long> orderedScreenIds) {
         int count = orderedScreenIds.size();
         for (int i = 0; i < count; i++) {
+            Log.d(TAG, "10249126 - bindAddScreens(" + orderedScreenIds.get(i) + ")");
             mWorkspace.insertNewWorkspaceScreenBeforeEmptyScreen(orderedScreenIds.get(i), false);
         }
     }
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index 8f486e7..b085441 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -311,6 +311,7 @@
                                     sBgWorkspaceScreens.size());
                             while (numPagesToAdd > 0) {
                                 long screenId = lp.generateNewScreenId();
+                                Log.d(TAG, "10249126 - addAndBindAddedApps(" + screenId + ")");
                                 // Update the model
                                 sBgWorkspaceScreens.add(screenId);
                                 updateWorkspaceScreenOrder(context, sBgWorkspaceScreens);
@@ -1008,6 +1009,7 @@
                     long screenId = screens.get(i);
                     v.put(LauncherSettings.WorkspaceScreens._ID, screenId);
                     v.put(LauncherSettings.WorkspaceScreens.SCREEN_RANK, i);
+                    Log.d(TAG, "10249126 - updateWorkspaceScreenOrder(" + screenId + ", " + i + ")");
                     values[i] = v;
                 }
                 cr.bulkInsert(uri, values);
@@ -1585,6 +1587,7 @@
                 sBgItemsIdMap.clear();
                 sBgDbIconCache.clear();
                 sBgWorkspaceScreens.clear();
+                Log.d(TAG, "10249126 - loadWorkspace()");
 
                 final ArrayList<Long> itemsToRemove = new ArrayList<Long>();
                 final Uri contentUri = LauncherSettings.Favorites.CONTENT_URI;
@@ -1830,6 +1833,7 @@
                         long screenId = item.screenId;
                         if (item.container == LauncherSettings.Favorites.CONTAINER_DESKTOP &&
                                 !sBgWorkspaceScreens.contains(screenId)) {
+                            Log.d(TAG, "10249126 - loadWorkspace-loadedOldDb(" + screenId + ")");
                             sBgWorkspaceScreens.add(screenId);
                             if (screenId > maxScreenId) {
                                 maxScreenId = screenId;
@@ -1878,6 +1882,7 @@
                     }
 
                     // Remove any empty screens
+                    Log.d(TAG, "10249126 - loadWorkspace-!loadedOldDb()");
                     ArrayList<Long> unusedScreens = new ArrayList<Long>();
                     unusedScreens.addAll(sBgWorkspaceScreens);
 
@@ -2043,7 +2048,7 @@
 
         private void bindWorkspaceScreens(final Callbacks oldCallbacks,
                 final ArrayList<Long> orderedScreens) {
-
+            Log.d(TAG, "10249126 - bindWorkspaceScreens()");
             final Runnable r = new Runnable() {
                 @Override
                 public void run() {
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 6989c9a..1d20277 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -514,6 +514,7 @@
     }
 
     public long insertNewWorkspaceScreen(long screenId, int insertIndex, boolean updateDb) {
+        Log.d(TAG, "10249126 - insertNewWorkspaceScreen(" + screenId + ", " + insertIndex + ", " + updateDb + ")");
         CellLayout newScreen = (CellLayout)
                 mLauncher.getLayoutInflater().inflate(R.layout.workspace_screen, null);
 
@@ -529,6 +530,7 @@
     }
 
     public void createCustomContentPage() {
+        Log.d(TAG, "10249126 - createCustomContentPage()");
         CellLayout customScreen = (CellLayout)
                 mLauncher.getLayoutInflater().inflate(R.layout.workspace_screen, null);
 
@@ -563,6 +565,7 @@
     }
 
     public long commitExtraEmptyScreen() {
+        Log.d(TAG, "10249126 - commitExtraEmptyScreen()");
         CellLayout cl = mWorkspaceScreens.get(EXTRA_EMPTY_SCREEN_ID);
         mWorkspaceScreens.remove(EXTRA_EMPTY_SCREEN_ID);
         mScreenOrder.remove(EXTRA_EMPTY_SCREEN_ID);
@@ -584,11 +587,13 @@
     }
 
     public CellLayout getScreenWithId(long screenId) {
+        Log.d(TAG, "10249126 - getScreenWithId(" + screenId + ")");
         CellLayout layout = mWorkspaceScreens.get(screenId);
         return layout;
     }
 
     public long getIdForScreen(CellLayout layout) {
+        Log.d(TAG, "10249126 - getIdForScreen()");
         Iterator<Long> iter = mWorkspaceScreens.keySet().iterator();
         while (iter.hasNext()) {
             long id = iter.next();
@@ -600,6 +605,7 @@
     }
 
     public int getPageIndexForScreenId(long screenId) {
+        Log.d(TAG, "10249126 - getPageIndexForScreenId(" + screenId + ")");
         return indexOfChild(mWorkspaceScreens.get(screenId));
     }
 
@@ -617,6 +623,8 @@
             return;
         }
 
+        Log.d(TAG, "10249126 - stripEmptyScreens()");
+
         int currentPage = getNextPage();
         ArrayList<Long> removeScreens = new ArrayList<Long>();
         for (Long id: mWorkspaceScreens.keySet()) {
@@ -686,6 +694,8 @@
         if (container == LauncherSettings.Favorites.CONTAINER_DESKTOP) {
             if (getScreenWithId(screenId) == null) {
                 Log.e(TAG, "Skipping child, screenId " + screenId + " not found");
+                // DEBUGGING - Print out the stack trace to see where we are adding from
+                new Throwable().printStackTrace();
                 return;
             }
         }