summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Huang <tonyychuang@google.com>2023-04-14 08:52:46 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-17 20:13:05 +0000
commitc34ca49a06cec8abc10236496bfdfbaae9122f96 (patch)
tree83c9505f3ac48a8274e3d73c4ca469745d607c7b
parentd4aa0f6498da856a5e5cd45f431ea9497a8e562f (diff)
downloadbase-c34ca49a06cec8abc10236496bfdfbaae9122f96.tar.gz
Make sure to clear outdated screenshot of splitting tasks
Make sure to clear the screenshot of splitting tasks if it's taking the new one or being dismissed from split. Bug: 272420717 Bug: 278134600 Test: pass existing tests (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e4ec07516eb1b824e25d57088963984d2175e5d7) Merged-In: Ia159deccc8f0024143200e4dd44fadf67974a198 Change-Id: Ia159deccc8f0024143200e4dd44fadf67974a198
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java
index bdf0ac2ed30c..4c2e0dafe698 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java
@@ -164,6 +164,10 @@ public class SplitDecorManager extends WindowlessWindowManager {
t.remove(mGapBackgroundLeash);
mGapBackgroundLeash = null;
}
+ if (mScreenshot != null) {
+ t.remove(mScreenshot);
+ mScreenshot = null;
+ }
mHostLeash = null;
mIcon = null;
mResizingIconView = null;
@@ -323,6 +327,8 @@ public class SplitDecorManager extends WindowlessWindowManager {
if (!mShown && mIsResizing && !mOldBounds.equals(mResizingBounds)) {
if (mScreenshotAnimator != null && mScreenshotAnimator.isRunning()) {
mScreenshotAnimator.cancel();
+ } else if (mScreenshot != null) {
+ t.remove(mScreenshot);
}
mTempRect.set(mOldBounds);
@@ -339,6 +345,8 @@ public class SplitDecorManager extends WindowlessWindowManager {
if (!mShown && mIsResizing && !mOldBounds.equals(mResizingBounds)) {
if (mScreenshotAnimator != null && mScreenshotAnimator.isRunning()) {
mScreenshotAnimator.cancel();
+ } else if (mScreenshot != null) {
+ t.remove(mScreenshot);
}
mScreenshot = screenshot;