mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Send source rect hint to Shell via stopSwipePipToHome
Launcher has calculated it, so shell side can use it directly to
avoid inconsistency.
Bug: 331315278
Test: Assume the target app support auto-pip and it doesn't draw
under display cutout.
E.g. LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
Enter PiP from 90 degrees to home with 0 degrees.
The left side of pip should not flicker.
Change-Id: Id09efc8a30eeef14a031d9db2ab1e00b6f3034bc
This commit is contained in:
@@ -1614,7 +1614,8 @@ public abstract class AbsSwipeUpHandler<T extends RecentsViewContainer,
|
||||
mSwipePipToHomeAnimator.getComponentName(),
|
||||
mSwipePipToHomeAnimator.getDestinationBounds(),
|
||||
mSwipePipToHomeAnimator.getContentOverlay(),
|
||||
mSwipePipToHomeAnimator.getAppBounds());
|
||||
mSwipePipToHomeAnimator.getAppBounds(),
|
||||
mSwipePipToHomeAnimator.getSourceRectHint());
|
||||
|
||||
windowAnim = mSwipePipToHomeAnimators;
|
||||
} else {
|
||||
|
||||
@@ -683,11 +683,11 @@ public class SystemUiProxy implements ISystemUiProxy, NavHandle, SafeCloseable {
|
||||
* should be responsible for cleaning up the overlay.
|
||||
*/
|
||||
public void stopSwipePipToHome(int taskId, ComponentName componentName, Rect destinationBounds,
|
||||
SurfaceControl overlay, Rect appBounds) {
|
||||
SurfaceControl overlay, Rect appBounds, Rect sourceRectHint) {
|
||||
if (mPip != null) {
|
||||
try {
|
||||
mPip.stopSwipePipToHome(taskId, componentName, destinationBounds, overlay,
|
||||
appBounds);
|
||||
appBounds, sourceRectHint);
|
||||
} catch (RemoteException e) {
|
||||
Log.w(TAG, "Failed call stopSwipePipToHome");
|
||||
}
|
||||
|
||||
@@ -272,6 +272,10 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
|
||||
return mAppBounds;
|
||||
}
|
||||
|
||||
public Rect getSourceRectHint() {
|
||||
return mSourceRectHint;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SurfaceControl getContentOverlay() {
|
||||
return mPipContentOverlay == null ? null : mPipContentOverlay.getLeash();
|
||||
|
||||
Reference in New Issue
Block a user