From 0fe3b00cbac120b7a95aed2639e70b2816409be2 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Mon, 21 Sep 2020 17:57:50 +0800 Subject: [PATCH] Copy insets state for snapshot starting window Commit 837fd13 remove the copy accidentally. That causes the original insets state to be modified unexpectedly. Bug: 168023253 Test: WmTests Change-Id: I31242e6e325a1df2afeac77faf6b2af05c0de138 --- .../core/java/com/android/server/wm/TaskSnapshotController.java | 2 +- .../core/java/com/android/server/wm/TaskSnapshotSurface.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/TaskSnapshotController.java b/services/core/java/com/android/server/wm/TaskSnapshotController.java index fd4289cc83355..bc4f75276a950 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotController.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotController.java @@ -481,7 +481,7 @@ class TaskSnapshotController { final int color = ColorUtils.setAlphaComponent( task.getTaskDescription().getBackgroundColor(), 255); final LayoutParams attrs = mainWindow.getAttrs(); - final InsetsState insetsState = mainWindow.getInsetsState(); + final InsetsState insetsState = new InsetsState(mainWindow.getInsetsState()); mergeInsetsSources(insetsState, mainWindow.getRequestedInsetsState()); final Rect systemBarInsets = getSystemBarInsets(mainWindow.getFrame(), insetsState); final SystemBarBackgroundPainter decorPainter = new SystemBarBackgroundPainter(attrs.flags, diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java index a6744d55af9d5..cccda3a4f4b89 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java @@ -237,7 +237,7 @@ class TaskSnapshotSurface implements StartingSurface { task.getBounds(taskBounds); currentOrientation = topFullscreenOpaqueWindow.getConfiguration().orientation; activityType = activity.getActivityType(); - insetsState = topFullscreenOpaqueWindow.getInsetsState(); + insetsState = new InsetsState(topFullscreenOpaqueWindow.getInsetsState()); mergeInsetsSources(insetsState, topFullscreenOpaqueWindow.getRequestedInsetsState()); } try {