Enforce an opaque background color when drawing secure window snapshots.

Bug: 72814691
Test: Launch Chrome (65+) incognito window, enter recents and verify that
      a snapshot exists

Change-Id: I99444f68f6ddc28847e3326d5f5e80609506696b
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
index 259f8df..e4db3b0 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
@@ -47,6 +47,7 @@
 import android.app.ActivityThread;
 import android.content.Context;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.GraphicBuffer;
 import android.graphics.Paint;
 import android.graphics.Rect;
@@ -516,7 +517,7 @@
         @VisibleForTesting
         void drawStatusBarBackground(Canvas c, @Nullable Rect alreadyDrawnFrame,
                 int statusBarHeight) {
-            if (statusBarHeight > 0
+            if (statusBarHeight > 0 && Color.alpha(mStatusBarColor) != 0
                     && (alreadyDrawnFrame == null || c.getWidth() > alreadyDrawnFrame.right)) {
                 final int rightInset = DecorView.getColorViewRightInset(mStableInsets.right,
                         mContentInsets.right);
@@ -531,7 +532,7 @@
             getNavigationBarRect(c.getWidth(), c.getHeight(), mStableInsets, mContentInsets,
                     navigationBarRect);
             final boolean visible = isNavigationBarColorViewVisible();
-            if (visible && !navigationBarRect.isEmpty()) {
+            if (visible && Color.alpha(mNavigationBarColor) != 0 && !navigationBarRect.isEmpty()) {
                 c.drawRect(navigationBarRect, mNavigationBarPaint);
             }
         }