Loading quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java +7 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,13 @@ public abstract class SwipeUpAnimationLogic implements RectF cropRectF = new RectF(taskViewSimulator.getCurrentCropRect()); // Move the startRect to Launcher space as floatingIconView runs in Launcher Matrix windowToHomePositionMap = new Matrix(); // If the start rect ends up overshooting too much to the left/right offscreen, bring it // back to fullscreen. This can happen when the recentsScroll value isn't aligned with // the pageScroll value for a given taskView, see b/228829958#comment12 mRemoteTargetHandles[0].getTaskViewSimulator().getOrientationState().getOrientationHandler() .fixBoundsForHomeAnimStartRect(startRect, mDp); homeToWindowPositionMap.invert(windowToHomePositionMap); windowToHomePositionMap.mapRect(startRect); Loading src/com/android/launcher3/touch/LandscapePagedViewHandler.java +11 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,17 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler { velocity.set(-oldY, oldX); } @Override public void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile) { // We don't need to check the "top" value here because the startRect is in the orientation // of the app, not of the fixed portrait launcher. if (outStartRect.left > deviceProfile.heightPx) { outStartRect.offsetTo(0, outStartRect.top); } else if (outStartRect.left < -deviceProfile.heightPx) { outStartRect.offsetTo(0, outStartRect.top); } } @Override public <T> void setPrimary(T target, Int2DAction<T> action, int param) { action.call(target, 0, param); Loading src/com/android/launcher3/touch/PagedOrientationHandler.java +6 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,12 @@ public interface PagedOrientationHandler { */ void adjustFloatingIconStartVelocity(PointF velocity); /** * Ensures that outStartRect left bound is within the DeviceProfile's visual boundaries * @param outStartRect The start rect that will directly be modified */ void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile); class ChildBounds { public final int primaryDimension; Loading src/com/android/launcher3/touch/PortraitPagedViewHandler.java +9 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,15 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler { //no-op } @Override public void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile) { if (outStartRect.left > deviceProfile.widthPx) { outStartRect.offsetTo(0, outStartRect.top); } else if (outStartRect.left < -deviceProfile.widthPx) { outStartRect.offsetTo(0, outStartRect.top); } } @Override public <T> void setPrimary(T target, Int2DAction<T> action, int param) { action.call(target, param, 0); Loading Loading
quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java +7 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,13 @@ public abstract class SwipeUpAnimationLogic implements RectF cropRectF = new RectF(taskViewSimulator.getCurrentCropRect()); // Move the startRect to Launcher space as floatingIconView runs in Launcher Matrix windowToHomePositionMap = new Matrix(); // If the start rect ends up overshooting too much to the left/right offscreen, bring it // back to fullscreen. This can happen when the recentsScroll value isn't aligned with // the pageScroll value for a given taskView, see b/228829958#comment12 mRemoteTargetHandles[0].getTaskViewSimulator().getOrientationState().getOrientationHandler() .fixBoundsForHomeAnimStartRect(startRect, mDp); homeToWindowPositionMap.invert(windowToHomePositionMap); windowToHomePositionMap.mapRect(startRect); Loading
src/com/android/launcher3/touch/LandscapePagedViewHandler.java +11 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,17 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler { velocity.set(-oldY, oldX); } @Override public void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile) { // We don't need to check the "top" value here because the startRect is in the orientation // of the app, not of the fixed portrait launcher. if (outStartRect.left > deviceProfile.heightPx) { outStartRect.offsetTo(0, outStartRect.top); } else if (outStartRect.left < -deviceProfile.heightPx) { outStartRect.offsetTo(0, outStartRect.top); } } @Override public <T> void setPrimary(T target, Int2DAction<T> action, int param) { action.call(target, 0, param); Loading
src/com/android/launcher3/touch/PagedOrientationHandler.java +6 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,12 @@ public interface PagedOrientationHandler { */ void adjustFloatingIconStartVelocity(PointF velocity); /** * Ensures that outStartRect left bound is within the DeviceProfile's visual boundaries * @param outStartRect The start rect that will directly be modified */ void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile); class ChildBounds { public final int primaryDimension; Loading
src/com/android/launcher3/touch/PortraitPagedViewHandler.java +9 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,15 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler { //no-op } @Override public void fixBoundsForHomeAnimStartRect(RectF outStartRect, DeviceProfile deviceProfile) { if (outStartRect.left > deviceProfile.widthPx) { outStartRect.offsetTo(0, outStartRect.top); } else if (outStartRect.left < -deviceProfile.widthPx) { outStartRect.offsetTo(0, outStartRect.top); } } @Override public <T> void setPrimary(T target, Int2DAction<T> action, int param) { action.call(target, param, 0); Loading