diff options
author | Tony Huang <tonyychuang@google.com> | 2023-04-14 08:52:46 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-17 20:13:05 +0000 |
commit | c34ca49a06cec8abc10236496bfdfbaae9122f96 (patch) | |
tree | 83c9505f3ac48a8274e3d73c4ca469745d607c7b | |
parent | d4aa0f6498da856a5e5cd45f431ea9497a8e562f (diff) | |
download | base-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.java | 8 |
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; |