Use DeviceProfile to check multiWindowMode

Prevent extra IPC calls when checking for
multiWindowMode by using existing DeviceProfile.
This might be made irrelevant by b/142282126

Fixes: 149571513
Change-Id: Ia41cbfd56c67dd78f4d9c10bf1469d0d2a9e581d
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
index 3b6fd13..6041917 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
@@ -70,6 +70,7 @@
 import android.text.TextPaint;
 import android.util.AttributeSet;
 import android.util.FloatProperty;
+import android.util.Log;
 import android.util.Property;
 import android.util.SparseBooleanArray;
 import android.view.HapticFeedbackConstants;
@@ -693,7 +694,7 @@
             final int pageIndex = requiredTaskCount - i - 1 + mTaskViewStartIndex;
             final Task task = tasks.get(i);
             final TaskView taskView = (TaskView) getChildAt(pageIndex);
-            taskView.bind(task, mOrientationState);
+            taskView.bind(task, mOrientationState, mActivity.getDeviceProfile().isMultiWindowMode);
         }
 
         if (mNextPage == INVALID_PAGE) {
@@ -1067,7 +1068,8 @@
                     new ComponentName(getContext(), getClass()), 0, 0), null, null, "", "", 0, 0,
                     false, true, false, false, new ActivityManager.TaskDescription(), 0,
                     new ComponentName("", ""), false);
-            taskView.bind(mTmpRunningTask, mOrientationState);
+            taskView.bind(mTmpRunningTask, mOrientationState,
+                    mActivity.getDeviceProfile().isMultiWindowMode);
         }
 
         boolean runningTaskTileHidden = mRunningTaskTileHidden;
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java
index a05e0fa..e525842 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -36,6 +36,7 @@
 import android.graphics.Shader;
 import android.util.AttributeSet;
 import android.util.FloatProperty;
+import android.util.Log;
 import android.util.Property;
 import android.view.Surface;
 import android.view.View;
@@ -103,6 +104,7 @@
 
     private boolean mOverlayEnabled;
     private OverviewScreenshotActions mOverviewScreenshotActionsPlugin;
+    private boolean mIsMultiWindowMode;
 
     public TaskThumbnailView(Context context) {
         this(context, null);
@@ -124,7 +126,8 @@
         mPreviewPositionHelper = new PreviewPositionHelper(context);
     }
 
-    public void bind(Task task) {
+    public void bind(Task task, boolean isMultiWindowMode) {
+        mIsMultiWindowMode = isMultiWindowMode;
         mOverlay.reset();
         mTask = task;
         int color = task == null ? Color.BLACK : task.colorBackground | 0xFF000000;
@@ -350,7 +353,7 @@
             mPreviewRect.set(0, 0, mThumbnailData.thumbnail.getWidth(),
                     mThumbnailData.thumbnail.getHeight());
             mPreviewPositionHelper.updateThumbnailMatrix(mPreviewRect, mThumbnailData,
-                    mActivity.isInMultiWindowMode(), getMeasuredWidth(), getMeasuredHeight());
+                    mIsMultiWindowMode, getMeasuredWidth(), getMeasuredHeight());
 
             mBitmapShader.setLocalMatrix(mPreviewPositionHelper.mMatrix);
             mPaint.setShader(mBitmapShader);
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
index 3cd2b32..ad49bfa 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
@@ -295,11 +295,14 @@
 
     /**
      * Updates this task view to the given {@param task}.
+     *
+     * TODO(b/142282126) Re-evaluate if we need to pass in isMultiWindowMode after
+     *   that issue is fixed
      */
-    public void bind(Task task, RecentsOrientedState orientedState) {
+    public void bind(Task task, RecentsOrientedState orientedState, boolean isMultiWindowMode) {
         cancelPendingLoadTasks();
         mTask = task;
-        mSnapshotView.bind(task);
+        mSnapshotView.bind(task, isMultiWindowMode);
         setOrientationState(orientedState);
     }