Explorations in dense grids for all apps.

- Adds sticky section headers
- Removing AppsListAdapter
- Adding search bar field
- Subtitle filtering

Bug: 20222023

Change-Id: I1eaef701b5d68f475615f09d86561eacc91c937f
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 339b4e4..c0f09f4 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -135,6 +135,9 @@
     static final String TAG = "Launcher";
     static final boolean LOGD = true;
 
+    // Temporary flag
+    static final boolean DISABLE_ALL_APPS_SEARCH_INTEGRATION = true;
+
     static final boolean PROFILE_STARTUP = false;
     static final boolean DEBUG_WIDGETS = true;
     static final boolean DEBUG_STRICT_MODE = false;
@@ -530,10 +533,12 @@
 
             @Override
             public void dismissAllApps() {
-                // Dismiss All Apps if we aren't already paused/invisible
-                if (!mPaused) {
-                    showWorkspace(WorkspaceStateTransitionAnimation.SCROLL_TO_CURRENT_PAGE, true,
-                            null /* onCompleteRunnable */, false /* notifyLauncherCallbacks */);
+                if (!DISABLE_ALL_APPS_SEARCH_INTEGRATION) {
+                    // Dismiss All Apps if we aren't already paused/invisible
+                    if (!mPaused) {
+                        showWorkspace(WorkspaceStateTransitionAnimation.SCROLL_TO_CURRENT_PAGE, true,
+                                null /* onCompleteRunnable */, false /* notifyLauncherCallbacks */);
+                    }
                 }
             }
         });
@@ -1019,7 +1024,7 @@
         mOnResumeState = State.NONE;
 
         // Restore the apps state if we are in all apps
-        if (mState == State.APPS) {
+        if (!Launcher.DISABLE_ALL_APPS_SEARCH_INTEGRATION && mState == State.APPS) {
             if (mLauncherCallbacks != null) {
                 mLauncherCallbacks.onAllAppsShown();
             }
@@ -1453,8 +1458,8 @@
 
         // Setup Apps
         mAppsView = (AppsContainerView) findViewById(R.id.apps_view);
-        if (mLauncherCallbacks != null && mLauncherCallbacks.overrideAllAppsSearch()) {
-            mAppsView.hideSearchBar();
+        if (isAllAppsSearchOverridden()) {
+            mAppsView.hideHeaderBar();
         }
 
         // Setup AppsCustomize
@@ -2877,15 +2882,22 @@
 
     /** Updates the interaction state. */
     public void updateInteraction(Workspace.State fromState, Workspace.State toState) {
-        // Only update the interacting state if we are transitioning to/from a view without an
+        // Only update the interacting state if we are transitioning to/from a view with an
         // overlay
-        boolean fromStateWithoutOverlay = fromState != Workspace.State.NORMAL &&
-                fromState != Workspace.State.NORMAL_HIDDEN;
-        boolean toStateWithoutOverlay = toState != Workspace.State.NORMAL &&
-                toState != Workspace.State.NORMAL_HIDDEN;
-        if (toStateWithoutOverlay) {
+        boolean fromStateWithOverlay;
+        boolean toStateWithOverlay;
+        if (Launcher.DISABLE_ALL_APPS_SEARCH_INTEGRATION) {
+            fromStateWithOverlay = fromState != Workspace.State.NORMAL;
+            toStateWithOverlay = toState != Workspace.State.NORMAL;
+        } else {
+            fromStateWithOverlay = fromState != Workspace.State.NORMAL &&
+                    fromState != Workspace.State.NORMAL_HIDDEN;
+            toStateWithOverlay = toState != Workspace.State.NORMAL &&
+                    toState != Workspace.State.NORMAL_HIDDEN;
+        }
+        if (toStateWithOverlay) {
             onInteractionBegin();
-        } else if (fromStateWithoutOverlay) {
+        } else if (fromStateWithOverlay) {
             onInteractionEnd();
         }
     }
@@ -3367,7 +3379,7 @@
                     .sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
             if (notifyLauncherCallbacks) {
                 // Dismiss all apps when the workspace is shown
-                if (mLauncherCallbacks != null) {
+                if (!Launcher.DISABLE_ALL_APPS_SEARCH_INTEGRATION && mLauncherCallbacks != null) {
                     mLauncherCallbacks.onAllAppsHidden();
                 }
             }
@@ -3419,7 +3431,7 @@
 
         if (toState == State.APPS) {
             mStateTransitionAnimation.startAnimationToAllApps(animated);
-            if (mLauncherCallbacks != null) {
+            if (!Launcher.DISABLE_ALL_APPS_SEARCH_INTEGRATION && mLauncherCallbacks != null) {
                 mLauncherCallbacks.onAllAppsShown();
             }
         } else {
@@ -3472,7 +3484,7 @@
         if (successfulDrop) {
             // We need to trigger all apps hidden to notify search to update itself before the
             // delayed call to showWorkspace below
-            if (mLauncherCallbacks != null) {
+            if (!Launcher.DISABLE_ALL_APPS_SEARCH_INTEGRATION && mLauncherCallbacks != null) {
                 mLauncherCallbacks.onAllAppsHidden();
             }
         }
@@ -4454,9 +4466,12 @@
 
     /**
      * Returns whether the launcher callbacks overrides search in all apps.
-     * @return
      */
     @Thunk boolean isAllAppsSearchOverridden() {
+        if (DISABLE_ALL_APPS_SEARCH_INTEGRATION) {
+            return false;
+        }
+
         if (mLauncherCallbacks != null) {
             return mLauncherCallbacks.overrideAllAppsSearch();
         }