Revert "Combining the Thumbnail bitmap with the background to fix background spilling in the front."

This reverts commit 5a9dce518edb2487b76485723401751ac0be0a74.

Reason for revert: The solution is inefficient. There is already a solution in ag/17060224

Change-Id: I5b5862f1ae426c78062c5a0f481abfb13b3060cc
diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
index 11f9ddd..60b0d17 100644
--- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -50,7 +50,6 @@
 import com.android.launcher3.BaseActivity;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.icons.BitmapRenderer;
 import com.android.launcher3.util.MainThreadInitializedObject;
 import com.android.launcher3.util.SystemUiController;
 import com.android.quickstep.TaskOverlayFactory.TaskOverlay;
@@ -162,23 +161,6 @@
         setThumbnail(task, thumbnailData, true /* refreshNow */);
     }
 
-    /**
-     * By combining the two in a single bitmap then we only have to do a single draw
-     * call in the onDraw function. Also, this fixes a bug where the background was
-     * visible in the corners because of anti-aliasing.
-     */
-    public Bitmap combineThumbnailAndBackground(Bitmap bm) {
-        return BitmapRenderer.createHardwareBitmap(bm.getWidth(), bm.getHeight(), c -> {
-            final boolean drawBackgroundOnly = mTask == null || mTask.isLocked;
-            if (drawBackgroundOnly) {
-                c.drawPaint(mBackgroundPaint);
-            } else {
-                c.drawPaint(mBackgroundPaint);
-                c.drawBitmap(bm, 0, 0, null);
-            }
-        });
-    }
-
     /** Updates the shader, paint, matrix to redraw. */
     public void refresh() {
         refresh(false);
@@ -191,7 +173,6 @@
     private void refresh(boolean shouldRefreshOverlay) {
         if (mThumbnailData != null && mThumbnailData.thumbnail != null) {
             Bitmap bm = mThumbnailData.thumbnail;
-            bm = combineThumbnailAndBackground(bm);
             bm.prepareToDraw();
             mBitmapShader = new BitmapShader(bm, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
             mPaint.setShader(mBitmapShader);
@@ -213,6 +194,7 @@
      * <p>
      * If dimAlpha is 0, no dimming is applied; if dimAlpha is 1, the thumbnail will be the
      * extracted background color.
+     *
      */
     public void setDimAlpha(float dimAlpha) {
         mDimAlpha = dimAlpha;
@@ -314,6 +296,18 @@
                 return;
             }
         }
+
+        // Always draw the background since the snapshots might be translucent or partially empty
+        // (For example, tasks been reparented out of dismissing split root when drag-to-dismiss
+        // split screen).
+        canvas.drawRoundRect(x, y, width, height, cornerRadius, cornerRadius, mBackgroundPaint);
+
+        final boolean drawBackgroundOnly = mTask == null || mTask.isLocked || mBitmapShader == null
+                || mThumbnailData == null;
+        if (drawBackgroundOnly) {
+            return;
+        }
+
         canvas.drawRoundRect(x, y, width, height, cornerRadius, cornerRadius, mPaint);
     }
 
@@ -344,6 +338,7 @@
 
     private void updateThumbnailPaintFilter() {
         ColorFilter filter = getColorFilter(mDimAlpha);
+        mBackgroundPaint.setColorFilter(filter);
         int alpha = (int) (mDimAlpha * 255);
         mDimmingPaintAfterClearing.setAlpha(alpha);
         if (mBitmapShader != null) {