Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java +6 −0 Original line number Diff line number Diff line Loading @@ -206,6 +206,7 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, void synchronizePinnedStackBounds() { cancelAnimations(); mBounds.set(mPipTaskOrganizer.getLastReportedBounds()); mTemporaryBounds.setEmpty(); if (mPipTaskOrganizer.isInPip()) { mFloatingContentCoordinator.onContentMoved(this); Loading Loading @@ -274,6 +275,11 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, final float destinationX = targetCenter.x - (desiredWidth / 2f); final float destinationY = targetCenter.y - (desiredHeight / 2f); // If we're already in the dismiss target area, then there won't be a move to set the // temporary bounds, so just initialize it to the current bounds if (mTemporaryBounds.isEmpty()) { mTemporaryBounds.set(mBounds); } mTemporaryBoundsPhysicsAnimator .spring(FloatProperties.RECT_X, destinationX, velX, mSpringConfig) .spring(FloatProperties.RECT_Y, destinationY, velY, mSpringConfig) Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +6 −3 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ public class PipTouchHandler { /** Duration of the dismiss scrim fading in/out. */ private static final int DISMISS_TRANSITION_DURATION_MS = 200; /* The multiplier to apply scale the target size by when applying the magnetic field radius */ private static final float MAGNETIC_FIELD_RADIUS_MULTIPLIER = 1.25f; // Allow dragging the PIP to a location to close it private final boolean mEnableDismissDragToEdge; // Allow PIP to resize to a slightly bigger state upon touch Loading Loading @@ -330,8 +333,9 @@ public class PipTouchHandler { R.dimen.floating_dismiss_bottom_margin); mTargetView.setLayoutParams(newParams); // Set the magnetic field radius equal to twice the size of the target. mMagneticTarget.setMagneticFieldRadiusPx(targetSize * 2); // Set the magnetic field radius equal to the target size from the center of the target mMagneticTarget.setMagneticFieldRadiusPx( (int) (targetSize * MAGNETIC_FIELD_RADIUS_MULTIPLIER)); } private boolean shouldShowResizeHandle() { Loading Loading @@ -953,7 +957,6 @@ public class PipTouchHandler { } final PointF vel = touchState.getVelocity(); final float velocity = PointF.length(vel.x, vel.y); if (touchState.isDragging()) { if (mMenuState != MENU_STATE_NONE) { Loading Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java +6 −0 Original line number Diff line number Diff line Loading @@ -206,6 +206,7 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, void synchronizePinnedStackBounds() { cancelAnimations(); mBounds.set(mPipTaskOrganizer.getLastReportedBounds()); mTemporaryBounds.setEmpty(); if (mPipTaskOrganizer.isInPip()) { mFloatingContentCoordinator.onContentMoved(this); Loading Loading @@ -274,6 +275,11 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, final float destinationX = targetCenter.x - (desiredWidth / 2f); final float destinationY = targetCenter.y - (desiredHeight / 2f); // If we're already in the dismiss target area, then there won't be a move to set the // temporary bounds, so just initialize it to the current bounds if (mTemporaryBounds.isEmpty()) { mTemporaryBounds.set(mBounds); } mTemporaryBoundsPhysicsAnimator .spring(FloatProperties.RECT_X, destinationX, velX, mSpringConfig) .spring(FloatProperties.RECT_Y, destinationY, velY, mSpringConfig) Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +6 −3 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ public class PipTouchHandler { /** Duration of the dismiss scrim fading in/out. */ private static final int DISMISS_TRANSITION_DURATION_MS = 200; /* The multiplier to apply scale the target size by when applying the magnetic field radius */ private static final float MAGNETIC_FIELD_RADIUS_MULTIPLIER = 1.25f; // Allow dragging the PIP to a location to close it private final boolean mEnableDismissDragToEdge; // Allow PIP to resize to a slightly bigger state upon touch Loading Loading @@ -330,8 +333,9 @@ public class PipTouchHandler { R.dimen.floating_dismiss_bottom_margin); mTargetView.setLayoutParams(newParams); // Set the magnetic field radius equal to twice the size of the target. mMagneticTarget.setMagneticFieldRadiusPx(targetSize * 2); // Set the magnetic field radius equal to the target size from the center of the target mMagneticTarget.setMagneticFieldRadiusPx( (int) (targetSize * MAGNETIC_FIELD_RADIUS_MULTIPLIER)); } private boolean shouldShowResizeHandle() { Loading Loading @@ -953,7 +957,6 @@ public class PipTouchHandler { } final PointF vel = touchState.getVelocity(); final float velocity = PointF.length(vel.x, vel.y); if (touchState.isDragging()) { if (mMenuState != MENU_STATE_NONE) { Loading