Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c86069f7 authored by Tony Huang's avatar Tony Huang Committed by Automerger Merge Worker
Browse files

Merge "Fix screnshot null during rotation" into tm-qpr-dev am: 4055b792 am: b71453f4

parents a200cb78 b71453f4
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -248,11 +248,11 @@ public class SplitDecorManager extends WindowlessWindowManager {

    /** Stops showing resizing hint. */
    public void onResized(SurfaceControl.Transaction t, Runnable animFinishedCallback) {
        if (mScreenshot != null) {
        if (mScreenshotAnimator != null && mScreenshotAnimator.isRunning()) {
            mScreenshotAnimator.cancel();
        }

        if (mScreenshot != null) {
            t.setPosition(mScreenshot, mOffsetX, mOffsetY);

            final SurfaceControl.Transaction animT = new SurfaceControl.Transaction();
@@ -322,6 +322,10 @@ public class SplitDecorManager extends WindowlessWindowManager {
    /** Screenshot host leash and attach on it if meet some conditions */
    public void screenshotIfNeeded(SurfaceControl.Transaction t) {
        if (!mShown && mIsResizing && !mOldBounds.equals(mResizingBounds)) {
            if (mScreenshotAnimator != null && mScreenshotAnimator.isRunning()) {
                mScreenshotAnimator.cancel();
            }

            mTempRect.set(mOldBounds);
            mTempRect.offsetTo(0, 0);
            mScreenshot = ScreenshotUtils.takeScreenshot(t, mHostLeash, mTempRect,
@@ -334,6 +338,10 @@ public class SplitDecorManager extends WindowlessWindowManager {
        if (screenshot == null || !screenshot.isValid()) return;

        if (!mShown && mIsResizing && !mOldBounds.equals(mResizingBounds)) {
            if (mScreenshotAnimator != null && mScreenshotAnimator.isRunning()) {
                mScreenshotAnimator.cancel();
            }

            mScreenshot = screenshot;
            t.reparent(screenshot, mHostLeash);
            t.setLayer(screenshot, Integer.MAX_VALUE - 1);