mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 03:08:19 +00:00
[PiP on Desktop] Disable swipe up PiP if task is freeform
Bug: 416766306 Test: atest WMShellUnitTests:com.android.wm.shell.pip2.phone Test: Manual - swipe up after tiling YT with video playing in Desktop, verify PiP is not entered and there is no crash Flag: com.android.window.flags.enable_desktop_windowing_pip Change-Id: Ib8b1fc3979c7e2151e7c7184499334501503afb4
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
package com.android.quickstep;
|
||||
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.view.Surface.ROTATION_0;
|
||||
import static android.view.Surface.ROTATION_270;
|
||||
import static android.view.Surface.ROTATION_90;
|
||||
@@ -97,6 +98,7 @@ import android.view.ViewTreeObserver.OnScrollChangedListener;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.animation.Interpolator;
|
||||
import android.widget.Toast;
|
||||
import android.window.DesktopExperienceFlags;
|
||||
import android.window.DesktopModeFlags;
|
||||
import android.window.PictureInPictureSurfaceTransaction;
|
||||
import android.window.TransitionInfo;
|
||||
@@ -1680,11 +1682,17 @@ public abstract class AbsSwipeUpHandler<
|
||||
boolean hasValidLeash = runningTaskTarget != null
|
||||
&& runningTaskTarget.leash != null
|
||||
&& runningTaskTarget.leash.isValid();
|
||||
final boolean swipeUpInDesktopWindowing =
|
||||
DesktopExperienceFlags.ENABLE_DESKTOP_WINDOWING_PIP.isTrue()
|
||||
&& runningTaskTarget != null
|
||||
&& runningTaskTarget.taskInfo.getWindowingMode()
|
||||
== WINDOWING_MODE_FREEFORM;
|
||||
boolean appCanEnterPip = !mDeviceState.isPipActive()
|
||||
&& hasValidLeash
|
||||
&& runningTaskTarget.allowEnterPip
|
||||
&& runningTaskTarget.taskInfo.pictureInPictureParams != null
|
||||
&& runningTaskTarget.taskInfo.pictureInPictureParams.isAutoEnterEnabled();
|
||||
&& runningTaskTarget.taskInfo.pictureInPictureParams.isAutoEnterEnabled()
|
||||
&& !swipeUpInDesktopWindowing;
|
||||
HomeAnimationFactory homeAnimFactory = createHomeAnimationFactory(
|
||||
cookies,
|
||||
duration,
|
||||
|
||||
Reference in New Issue
Block a user