Loading libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.java +14 −4 Original line number Diff line number Diff line Loading @@ -199,6 +199,10 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { } private void applyTransform(SurfaceControl leash, RectF targetRect, float targetAlpha) { if (leash == null || !leash.isValid()) { return; } final float scale = targetRect.width() / mStartTaskRect.width(); mTransformMatrix.reset(); mTransformMatrix.setScale(scale, scale); Loading @@ -211,12 +215,16 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { private void finishAnimation() { if (mEnteringTarget != null) { if (mEnteringTarget.leash != null && mEnteringTarget.leash.isValid()) { mTransaction.setCornerRadius(mEnteringTarget.leash, 0); mEnteringTarget.leash.release(); } mEnteringTarget = null; } if (mClosingTarget != null) { if (mClosingTarget.leash != null) { mClosingTarget.leash.release(); } mClosingTarget = null; } if (mBackground != null) { Loading Loading @@ -260,7 +268,9 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { } private void onGestureCommitted() { if (mEnteringTarget == null || mClosingTarget == null) { if (mEnteringTarget == null || mClosingTarget == null || mClosingTarget.leash == null || mEnteringTarget.leash == null || !mEnteringTarget.leash.isValid() || !mClosingTarget.leash.isValid()) { finishAnimation(); return; } Loading libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java +4 −2 Original line number Diff line number Diff line Loading @@ -208,7 +208,9 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { float top = mapRange(progress, mClosingStartRect.top, targetTop); float width = mapRange(progress, mClosingStartRect.width(), targetWidth); float height = mapRange(progress, mClosingStartRect.height(), targetHeight); if (mClosingTarget.leash != null && mClosingTarget.leash.isValid()) { mTransaction.setLayer(mClosingTarget.leash, 0); } mClosingCurrentRect.set(left, top, left + width, top + height); applyTransform(mClosingTarget.leash, mClosingCurrentRect, mCornerRadius); Loading @@ -226,7 +228,7 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { /** Transform the target window to match the target rect. */ private void applyTransform(SurfaceControl leash, RectF targetRect, float cornerRadius) { if (leash == null) { if (leash == null || !leash.isValid()) { return; } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.java +14 −4 Original line number Diff line number Diff line Loading @@ -199,6 +199,10 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { } private void applyTransform(SurfaceControl leash, RectF targetRect, float targetAlpha) { if (leash == null || !leash.isValid()) { return; } final float scale = targetRect.width() / mStartTaskRect.width(); mTransformMatrix.reset(); mTransformMatrix.setScale(scale, scale); Loading @@ -211,12 +215,16 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { private void finishAnimation() { if (mEnteringTarget != null) { if (mEnteringTarget.leash != null && mEnteringTarget.leash.isValid()) { mTransaction.setCornerRadius(mEnteringTarget.leash, 0); mEnteringTarget.leash.release(); } mEnteringTarget = null; } if (mClosingTarget != null) { if (mClosingTarget.leash != null) { mClosingTarget.leash.release(); } mClosingTarget = null; } if (mBackground != null) { Loading Loading @@ -260,7 +268,9 @@ public class CrossActivityBackAnimation extends ShellBackAnimation { } private void onGestureCommitted() { if (mEnteringTarget == null || mClosingTarget == null) { if (mEnteringTarget == null || mClosingTarget == null || mClosingTarget.leash == null || mEnteringTarget.leash == null || !mEnteringTarget.leash.isValid() || !mClosingTarget.leash.isValid()) { finishAnimation(); return; } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java +4 −2 Original line number Diff line number Diff line Loading @@ -208,7 +208,9 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { float top = mapRange(progress, mClosingStartRect.top, targetTop); float width = mapRange(progress, mClosingStartRect.width(), targetWidth); float height = mapRange(progress, mClosingStartRect.height(), targetHeight); if (mClosingTarget.leash != null && mClosingTarget.leash.isValid()) { mTransaction.setLayer(mClosingTarget.leash, 0); } mClosingCurrentRect.set(left, top, left + width, top + height); applyTransform(mClosingTarget.leash, mClosingCurrentRect, mCornerRadius); Loading @@ -226,7 +228,7 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { /** Transform the target window to match the target rect. */ private void applyTransform(SurfaceControl leash, RectF targetRect, float cornerRadius) { if (leash == null) { if (leash == null || !leash.isValid()) { return; } Loading