From fe0a59b076e849f5ad4168474e48a78a18ed6612 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 8 Aug 2018 16:10:20 -0700 Subject: [PATCH] Workaround regression in multiwindow mode change callback - Revert to O behaviour of sending same MW mode as PIP mode when updated Bug: 112198479 Test: atest android.app.cts.TaskDescriptionTest Change-Id: I31387b5dfb2b3f4e8f82b2ba2c26b1672fc77272 (cherry picked from commit 059955f992d77062058d25b9280b14eae5b0bdde) --- .../core/java/com/android/server/am/ActivityRecord.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index 75f27231c976c..60f79f7202423 100644 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -694,9 +694,13 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo final boolean inPictureInPictureMode = inPinnedWindowingMode() && targetStackBounds != null; if (inPictureInPictureMode != mLastReportedPictureInPictureMode || forceUpdate) { // Picture-in-picture mode changes also trigger a multi-window mode change as well, so - // update that here in order + // update that here in order. Set the last reported MW state to the same as the PiP + // state since we haven't yet actually resized the task (these callbacks need to + // preceed the configuration change from the resiez. + // TODO(110009072): Once we move these callbacks to the client, remove all logic related + // to forcing the update of the picture-in-picture mode as a part of the PiP animation. mLastReportedPictureInPictureMode = inPictureInPictureMode; - mLastReportedMultiWindowMode = inMultiWindowMode(); + mLastReportedMultiWindowMode = inPictureInPictureMode; final Configuration newConfig = task.computeNewOverrideConfigurationForBounds( targetStackBounds, null); schedulePictureInPictureModeChanged(newConfig);