From b1e39bd47cb99eddc76d005f85b2a8e6cf8330d5 Mon Sep 17 00:00:00 2001 From: Toshiki Kikuchi Date: Fri, 16 Aug 2024 10:06:02 +0900 Subject: Update caption colors in relayout() This CL moves `setupCaptionColor()` to `relayout()` so that we can ensure that the caption colors are always updated properly. Bug: 360229241 Test: manual Flag: EXEMPT Bug fix Change-Id: I2b6163c7eb281212f0986efe12c957081b400435 --- .../windowdecor/CaptionWindowDecorViewModel.java | 12 ---------- .../shell/windowdecor/CaptionWindowDecoration.java | 27 ++++++++++++++-------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java index d8dba71c0a4f..d18088ecaad8 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java @@ -26,7 +26,6 @@ import static android.view.WindowManager.TRANSIT_CHANGE; import android.app.ActivityManager.RunningTaskInfo; import android.content.ContentResolver; import android.content.Context; -import android.graphics.Color; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; @@ -175,7 +174,6 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { if (decoration == null) return; decoration.relayout(taskInfo); - setupCaptionColor(taskInfo, decoration); } @Override @@ -237,15 +235,6 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { decoration.close(); } - private void setupCaptionColor(RunningTaskInfo taskInfo, CaptionWindowDecoration decoration) { - if (TaskInfoKt.isTransparentCaptionBarAppearance(taskInfo)) { - decoration.setCaptionColor(Color.TRANSPARENT); - } else { - final int statusBarColor = taskInfo.taskDescription.getStatusBarColor(); - decoration.setCaptionColor(statusBarColor); - } - } - private boolean shouldShowWindowDecor(RunningTaskInfo taskInfo) { if (taskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM) { return true; @@ -311,7 +300,6 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { windowDecoration.setTaskDragResizer(taskPositioner); windowDecoration.relayout(taskInfo, startT, finishT, false /* applyStartTransactionOnDraw */, false /* setTaskCropAndPosition */); - setupCaptionColor(taskInfo, windowDecoration); } private class CaptionTouchEventListener implements diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java index 231570f5d90e..349ee0b1fcda 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java @@ -35,7 +35,6 @@ import android.graphics.Insets; import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.GradientDrawable; -import android.graphics.drawable.VectorDrawable; import android.os.Handler; import android.util.Size; import android.view.Choreographer; @@ -310,6 +309,9 @@ public class CaptionWindowDecoration extends WindowDecoration