Loading packages/SystemUI/src/com/android/systemui/pip/PipAnimationController.java +16 −3 Original line number Diff line number Diff line Loading @@ -170,9 +170,9 @@ public class PipAnimationController { private final @AnimationType int mAnimationType; private final Rect mDestinationBounds = new Rect(); private T mStartValue; protected T mCurrentValue; protected T mStartValue; private T mEndValue; private T mCurrentValue; private PipAnimationCallback mPipAnimationCallback; private PipSurfaceTransactionHelper.SurfaceControlTransactionFactory mSurfaceControlTransactionFactory; Loading Loading @@ -288,7 +288,6 @@ public class PipAnimationController { */ void updateEndValue(T endValue) { mEndValue = endValue; mStartValue = mCurrentValue; } SurfaceControl.Transaction newSurfaceControlTransaction() { Loading Loading @@ -337,6 +336,12 @@ public class PipAnimationController { tx.show(leash); tx.apply(); } @Override void updateEndValue(Float endValue) { super.updateEndValue(endValue); mStartValue = mCurrentValue; } }; } Loading Loading @@ -392,6 +397,14 @@ public class PipAnimationController { getSurfaceTransactionHelper().resetScale(tx, leash, getDestinationBounds()) .crop(tx, leash, getDestinationBounds()); } @Override void updateEndValue(Rect endValue) { super.updateEndValue(endValue); if (mStartValue != null && mCurrentValue != null) { mStartValue.set(mCurrentValue); } } }; } } Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +9 −1 Original line number Diff line number Diff line Loading @@ -431,13 +431,21 @@ public class PipTouchHandler { } else { final float offsetBufferPx = BOTTOM_OFFSET_BUFFER_DP * mContext.getResources().getDisplayMetrics().density; final Rect toMovementBounds = mMenuState == MENU_STATE_FULL && willResizeMenu() final boolean isExpanded = mMenuState == MENU_STATE_FULL && willResizeMenu(); final Rect toMovementBounds = isExpanded ? new Rect(expandedMovementBounds) : new Rect(normalMovementBounds); final int prevBottom = mMovementBounds.bottom - mMovementBoundsExtraOffsets; final int toBottom = toMovementBounds.bottom < toMovementBounds.top ? toMovementBounds.bottom : toMovementBounds.bottom - extraOffset; if (isExpanded) { curBounds.set(mExpandedBounds); mSnapAlgorithm.applySnapFraction(curBounds, toMovementBounds, mSavedSnapFraction); } if ((Math.min(prevBottom, toBottom) - offsetBufferPx) <= curBounds.top && curBounds.top <= (Math.max(prevBottom, toBottom) + offsetBufferPx)) { mMotionHelper.animateToOffset(curBounds, toBottom - curBounds.top); Loading Loading
packages/SystemUI/src/com/android/systemui/pip/PipAnimationController.java +16 −3 Original line number Diff line number Diff line Loading @@ -170,9 +170,9 @@ public class PipAnimationController { private final @AnimationType int mAnimationType; private final Rect mDestinationBounds = new Rect(); private T mStartValue; protected T mCurrentValue; protected T mStartValue; private T mEndValue; private T mCurrentValue; private PipAnimationCallback mPipAnimationCallback; private PipSurfaceTransactionHelper.SurfaceControlTransactionFactory mSurfaceControlTransactionFactory; Loading Loading @@ -288,7 +288,6 @@ public class PipAnimationController { */ void updateEndValue(T endValue) { mEndValue = endValue; mStartValue = mCurrentValue; } SurfaceControl.Transaction newSurfaceControlTransaction() { Loading Loading @@ -337,6 +336,12 @@ public class PipAnimationController { tx.show(leash); tx.apply(); } @Override void updateEndValue(Float endValue) { super.updateEndValue(endValue); mStartValue = mCurrentValue; } }; } Loading Loading @@ -392,6 +397,14 @@ public class PipAnimationController { getSurfaceTransactionHelper().resetScale(tx, leash, getDestinationBounds()) .crop(tx, leash, getDestinationBounds()); } @Override void updateEndValue(Rect endValue) { super.updateEndValue(endValue); if (mStartValue != null && mCurrentValue != null) { mStartValue.set(mCurrentValue); } } }; } } Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +9 −1 Original line number Diff line number Diff line Loading @@ -431,13 +431,21 @@ public class PipTouchHandler { } else { final float offsetBufferPx = BOTTOM_OFFSET_BUFFER_DP * mContext.getResources().getDisplayMetrics().density; final Rect toMovementBounds = mMenuState == MENU_STATE_FULL && willResizeMenu() final boolean isExpanded = mMenuState == MENU_STATE_FULL && willResizeMenu(); final Rect toMovementBounds = isExpanded ? new Rect(expandedMovementBounds) : new Rect(normalMovementBounds); final int prevBottom = mMovementBounds.bottom - mMovementBoundsExtraOffsets; final int toBottom = toMovementBounds.bottom < toMovementBounds.top ? toMovementBounds.bottom : toMovementBounds.bottom - extraOffset; if (isExpanded) { curBounds.set(mExpandedBounds); mSnapAlgorithm.applySnapFraction(curBounds, toMovementBounds, mSavedSnapFraction); } if ((Math.min(prevBottom, toBottom) - offsetBufferPx) <= curBounds.top && curBounds.top <= (Math.max(prevBottom, toBottom) + offsetBufferPx)) { mMotionHelper.animateToOffset(curBounds, toBottom - curBounds.top); Loading