Handful of small changes / bug fixes

-> Fixed fade in of overview panel on first animation
-> Fixed long press issue in page indicator region
-> Added background scrim to overview mode
-> Fading search bar in overview mode / disabling clickability
   of search bar and mic

Change-Id: Ic9bf84f7cb9ff2991c5b4e93273d9e3f65556e5c
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 6e6cdf6..aad9b9f 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1139,6 +1139,7 @@
                 startSettings();
             }
         });
+        mOverviewPanel.setAlpha(0f);
 
         // Setup the workspace
         mWorkspace.setHapticFeedbackEnabled(false);
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 30c3ea7..d8fc983 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -133,6 +133,8 @@
     protected float mTotalMotionX;
     private int mLastScreenCenter = -1;
 
+    private boolean mCancelTap;
+
     private int[] mPageScrolls;
 
     protected final static int TOUCH_STATE_REST = 0;
@@ -735,7 +737,7 @@
         // NOTE: We multiply by 1.5f to account for the fact that depending on the offset of the
         // viewport, we can be at most one and a half screens offset once we scale down
         DisplayMetrics dm = getResources().getDisplayMetrics();
-        int maxSize = Math.max(dm.widthPixels, dm.heightPixels);
+        int maxSize = Math.max(dm.widthPixels, dm.heightPixels + mInsets.top + mInsets.bottom);
         int parentWidthSize, parentHeightSize;
         int scaledWidthSize, scaledHeightSize;
         if (mUseMinScale) {
@@ -1851,7 +1853,9 @@
                     onDropToDelete();
                 }
             } else {
-                onUnhandledTap(ev);
+                if (!mCancelTap) {
+                    onUnhandledTap(ev);
+                }
             }
 
             // Remove the callback to wait for the side page hover timeout
@@ -1884,6 +1888,7 @@
     private void resetTouchState() {
         releaseVelocityTracker();
         endReordering();
+        mCancelTap = false;
         mTouchState = TOUCH_STATE_REST;
         mActivePointerId = INVALID_POINTER;
     }
@@ -2156,6 +2161,12 @@
         return mAllowLongPress;
     }
 
+    @Override
+    public boolean performLongClick() {
+        mCancelTap = true;
+        return super.performLongClick();
+    }
+
     /**
      * Set true to allow long-press events to be triggered, usually checked by
      * {@link Launcher} to accept or block dpad-initiated long-presses.
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 2758b87..76d60a8 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1795,6 +1795,7 @@
         float finalBackgroundAlpha = stateIsSpringLoaded ? 1.0f : 0f;
         float finalHotseatAndPageIndicatorAlpha = (stateIsOverview || stateIsSmall) ? 0f : 1f;
         float finalOverviewPanelAlpha = stateIsOverview ? 1f : 0f;
+        float finalSearchBarAlpha = stateIsOverview ? 0f : 1f;
 
         boolean zoomIn = true;
         mNewScale = 1.0f;
@@ -1857,6 +1858,7 @@
             }
         }
 
+        View searchBar = mLauncher.getQsbBar();
         if (animated) {
             LauncherViewPropertyAnimator scale = new LauncherViewPropertyAnimator(this);
             scale.scaleX(mNewScale)
@@ -1903,16 +1905,20 @@
             }
             ObjectAnimator hotseatAlpha = ObjectAnimator.ofFloat(mLauncher.getHotseat(), "alpha",
                     finalHotseatAndPageIndicatorAlpha);
+            ObjectAnimator searchBarAlpha = ObjectAnimator.ofFloat(searchBar,
+                    "alpha", finalSearchBarAlpha);
             ObjectAnimator overviewPanelAlpha = ObjectAnimator.ofFloat(mLauncher.getOverviewPanel(),
                     "alpha", finalOverviewPanelAlpha);
             overviewPanelAlpha.addUpdateListener(new AlphaUpdateListener(
                     mLauncher.getOverviewPanel()));
             hotseatAlpha.addUpdateListener(new AlphaUpdateListener(mLauncher.getHotseat()));
+            searchBarAlpha.addUpdateListener(new AlphaUpdateListener(searchBar));
             if (getPageIndicator() != null) {
                 pageIndicatorAlpha.addUpdateListener(new AlphaUpdateListener(getPageIndicator()));
             }
             anim.play(overviewPanelAlpha);
             anim.play(hotseatAlpha);
+            anim.play(searchBarAlpha);
             anim.play(pageIndicatorAlpha);
             anim.setStartDelay(delay);
         } else {
@@ -1924,6 +1930,13 @@
                 getPageIndicator().setAlpha(finalHotseatAndPageIndicatorAlpha);
                 AlphaUpdateListener.updateVisibility(getPageIndicator());
             }
+            searchBar.setAlpha(finalSearchBarAlpha);
+            AlphaUpdateListener.updateVisibility(mLauncher.getSearchBar());
+        }
+        if (finalSearchBarAlpha == 0) {
+            mLauncher.setVoiceButtonProxyVisible(false);
+        } else {
+            mLauncher.setVoiceButtonProxyVisible(true);
         }
 
         if (stateIsSpringLoaded) {
@@ -1932,6 +1945,9 @@
             // be showing once AppsCustomize disappears
             animateBackgroundGradient(getResources().getInteger(
                     R.integer.config_appsCustomizeSpringLoadedBgAlpha) / 100f, false);
+        } else if (stateIsOverview) {
+            animateBackgroundGradient(getResources().getInteger(
+                    R.integer.config_appsCustomizeSpringLoadedBgAlpha) / 100f, true);
         } else {
             // Fade the background gradient away
             animateBackgroundGradient(0f, true);