Merge "Implement swipe up and quick scrub onboarding (Pt. Launcher)" into ub-launcher3-edmonton
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index 1d06752..0944a7a 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -130,7 +130,7 @@
             "STATE_QUICK_SCRUB_END"
     };
 
-    private static final long MAX_SWIPE_DURATION = 200;
+    private static final long MAX_SWIPE_DURATION = 350;
     private static final long MIN_SWIPE_DURATION = 80;
 
     private static final float MIN_PROGRESS_FOR_OVERVIEW = 0.5f;
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index c602392..29d999d 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -531,7 +531,6 @@
 
         unloadVisibleTaskData();
         setCurrentPage(0);
-        scrollTo(0, 0);
 
         OverviewCallbacks.get(getContext()).onResetOverview();
     }
diff --git a/quickstep/src/com/android/quickstep/views/RecentsViewContainer.java b/quickstep/src/com/android/quickstep/views/RecentsViewContainer.java
index cd4a6ff..fe668c6 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsViewContainer.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsViewContainer.java
@@ -1,5 +1,7 @@
 package com.android.quickstep.views;
 
+import static com.android.quickstep.views.RecentsView.DEBUG_SHOW_CLEAR_ALL_BUTTON;
+
 import android.content.Context;
 import android.graphics.Rect;
 import android.util.AttributeSet;
@@ -50,6 +52,8 @@
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
 
+        if (!changed || !DEBUG_SHOW_CLEAR_ALL_BUTTON) return;
+
         mRecentsView.getTaskSize(mTempRect);
 
         mClearAllButton.setTranslationX(
@@ -57,7 +61,7 @@
                         R.dimen.clear_all_container_width)) / 2);
         mClearAllButton.setTranslationY(
                 mTempRect.top + (mTempRect.height() - mClearAllButton.getMeasuredHeight()) / 2
-                        - mClearAllButton.getY());
+                        - mClearAllButton.getTop());
     }
 
     @Override
diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
index 6473d16..2f7199b 100644
--- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -148,20 +148,18 @@
         }
         int width = getMeasuredWidth();
         int height = getMeasuredHeight();
-        if (mClipBottom > 0 && !mTask.isLocked) {
-            canvas.save();
-            canvas.clipRect(0, 0, width, mClipBottom);
 
-            canvas.drawRoundRect(0, 0, width, height, mCornerRadius, mCornerRadius, mPaint);
-            canvas.restore();
-            canvas.save();
-            canvas.clipRect(0, mClipBottom, width, height);
-            canvas.drawRoundRect(0, 0, width, height, mCornerRadius, mCornerRadius,
-                    mBackgroundPaint);
-            canvas.restore();
-        } else {
-            canvas.drawRoundRect(0, 0, width, height, mCornerRadius,
-                    mCornerRadius, mTask.isLocked ? mBackgroundPaint : mPaint);
+        // Always draw the background since the snapshots may be translucent
+        canvas.drawRoundRect(0, 0, width, height, mCornerRadius, mCornerRadius, mBackgroundPaint);
+        if (!mTask.isLocked) {
+            if (mClipBottom > 0) {
+                canvas.save();
+                canvas.clipRect(0, 0, width, mClipBottom);
+                canvas.drawRoundRect(0, 0, width, height, mCornerRadius, mCornerRadius, mPaint);
+                canvas.restore();
+            } else {
+                canvas.drawRoundRect(0, 0, width, height, mCornerRadius, mCornerRadius, mPaint);
+            }
         }
     }