HACK: temporary upgrade path from com.android.launcher2

-> load old provider
-> permute pages
-> strip all duplicates from workspace
-> add [allapps minus workspaceapps] to apps folder

Change-Id: Id319d532c6bf1d78370ecc736e95a9475d831de8
diff --git a/src/com/android/launcher3/Hotseat.java b/src/com/android/launcher3/Hotseat.java
index 6a625eb..50f7efd 100644
--- a/src/com/android/launcher3/Hotseat.java
+++ b/src/com/android/launcher3/Hotseat.java
@@ -16,7 +16,9 @@
 
 package com.android.launcher3;
 
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -28,6 +30,8 @@
 
 import com.android.launcher3.R;
 
+import java.util.ArrayList;
+
 public class Hotseat extends FrameLayout {
     @SuppressWarnings("unused")
     private static final String TAG = "Hotseat";
@@ -108,4 +112,52 @@
     void resetLayout() {
         mContent.removeAllViewsInLayout();
     }
+
+    void addAllAppsFolder(IconCache iconCache, ArrayList<ApplicationInfo> allApps,
+            ArrayList<ComponentName> onWorkspace, Launcher launcher) {
+        FolderInfo fi = new FolderInfo();
+
+        fi.cellX = getCellXFromOrder(mAllAppsButtonRank);
+        fi.cellY = getCellYFromOrder(mAllAppsButtonRank);
+        fi.spanX = 1;
+        fi.spanY = 1;
+        fi.container = LauncherSettings.Favorites.CONTAINER_HOTSEAT;
+        fi.screen = mAllAppsButtonRank;
+        fi.itemType = LauncherSettings.Favorites.ITEM_TYPE_FOLDER;
+        fi.title = "All Apps";
+        LauncherModel.addItemToDatabase(launcher, fi, fi.container, fi.screen, fi.cellX,
+                fi.cellY, false);
+        FolderIcon folder = FolderIcon.fromXml(R.layout.folder_icon, launcher,
+                getLayout(), fi, iconCache);
+
+        CellLayout.LayoutParams lp = new CellLayout.LayoutParams(fi.cellX,fi.cellY,1,1);
+        mContent.addViewToCellLayout(folder, -1, 0, lp, true);
+
+        for (ApplicationInfo info: allApps) {
+            ComponentName cn = info.intent.getComponent();
+            if (!onWorkspace.contains(cn)) {
+                System.out.println("Adding to all apps: " + info.intent);
+                ShortcutInfo si = info.makeShortcut();
+                fi.add(si);
+            }
+        }
+    }
+
+    void addAppsToAllAppsFolder(ArrayList<ApplicationInfo> apps) {
+        View v = mContent.getChildAt(getCellXFromOrder(mAllAppsButtonRank), getCellYFromOrder(mAllAppsButtonRank));
+        FolderIcon fi = null;
+
+        if (v instanceof FolderIcon) {
+            fi = (FolderIcon) v;
+        } else {
+            return;
+        }
+
+        FolderInfo info = fi.getFolderInfo();
+        for (ApplicationInfo a: apps) {
+            ComponentName cn = a.intent.getComponent();
+            ShortcutInfo si = a.makeShortcut();
+            info.add(si);
+        }
+    }
 }