Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53c3c488 authored by Ikram Gabiyev's avatar Ikram Gabiyev Committed by Android (Google) Code Review
Browse files

Merge "Revert "[PiP2] Prevent double enter PiP"" into main

parents 129f6b99 b9f21513
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ package com.android.wm.shell.common.pip

import android.app.ActivityTaskManager
import android.app.RemoteAction
import android.app.TaskInfo
import android.app.WindowConfiguration
import android.content.ComponentName
import android.content.Context
@@ -235,12 +234,6 @@ object PipUtils {
        outPos.set(startActPosInTaskEndX, startActPosInTaskEndY)
    }

    @JvmStatic
    fun isContentPip(pipTaskInfo: TaskInfo?): Boolean {
        if (pipTaskInfo == null) return false
        return pipTaskInfo.launchIntoPipHostTaskId != -1
    }

    /**
     * Calculates the transform and crop to apply on a Task surface in order for the config-at-end
     * activity inside it (original-size activity transformed to match it's hint rect to the final
+1 −1
Original line number Diff line number Diff line
@@ -611,7 +611,7 @@ public class PipController implements ConfigurationChangeListener,
                    mPipUiEventLogger.log(
                            PipUiEventLogger.PipUiEventEnum.PICTURE_IN_PICTURE_AUTO_ENTER);
                    mPipTransitionState.resetSwipePipToHomeState();
                } else if (PipUtils.isContentPip(taskInfo)) {
                } else if (taskInfo != null && taskInfo.launchIntoPipHostTaskId != -1) {
                    mPipUiEventLogger.log(
                            PipUiEventLogger.PipUiEventEnum.PICTURE_IN_PICTURE_ENTER_CONTENT_PIP);
                } else {
+3 −2
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ import com.android.wm.shell.common.pip.PipDisplayLayoutState;
import com.android.wm.shell.common.pip.PipPerfHintController;
import com.android.wm.shell.common.pip.PipSnapAlgorithm;
import com.android.wm.shell.common.pip.PipUiEventLogger;
import com.android.wm.shell.common.pip.PipUtils;
import com.android.wm.shell.pip2.PipSurfaceTransactionHelper;
import com.android.wm.shell.pip2.animation.PipResizeAnimator;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
@@ -362,7 +361,9 @@ public class PipMotionHelper implements PipAppOpsListener.Callback,
        cancelPhysicsAnimation();
        mMenuController.hideMenu(ANIM_TYPE_NONE, false /* resize */);

        if (PipUtils.isContentPip(mPipTransitionState.getPipTaskInfo())) {
        boolean isContentPip = mPipTransitionState.getPipTaskInfo() != null
                && mPipTransitionState.getPipTaskInfo().launchIntoPipHostTaskId != -1;
        if (isContentPip) {
            mPipScheduler.scheduleRemovePip(true /* withFadeout */);
        } else {
            mPipScheduler.scheduleExitPipViaExpand();
+1 −2
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.pip.PipBoundsState;
import com.android.wm.shell.common.pip.PipDesktopState;
import com.android.wm.shell.common.pip.PipDisplayLayoutState;
import com.android.wm.shell.common.pip.PipUtils;
import com.android.wm.shell.desktopmode.DesktopPipTransitionController;
import com.android.wm.shell.pip.PipTransitionController;
import com.android.wm.shell.pip2.PipSurfaceTransactionHelper;
@@ -157,7 +156,7 @@ public class PipScheduler implements PipTransitionState.PipTransitionStateChange
        wct.reorder(pipTaskToken, false);

        final TaskInfo pipTaskInfo = mPipTransitionState.getPipTaskInfo();
        if (PipUtils.isContentPip(pipTaskInfo)) {
        if (pipTaskInfo.launchIntoPipHostTaskId != -1) {
            // If the current PiP session was entered through content-PiP,
            // then relaunch the original host task too.
            wct.startTask(pipTaskInfo.launchIntoPipHostTaskId, null /* ActivityOptions */);
+0 −4
Original line number Diff line number Diff line
@@ -255,10 +255,6 @@ public class PipTransition extends PipTransitionController implements
    @Override
    public WindowContainerTransaction handleRequest(@NonNull IBinder transition,
            @NonNull TransitionRequestInfo request) {
        if (mPipTransitionState.getState() == PipTransitionState.SCHEDULED_ENTER_PIP) {
            // An enter PiP transition has already been scheduled and is waiting to be played.
            return null;
        }
        if (isAutoEnterInButtonNavigation(request) || isEnterPictureInPictureModeRequest(request)) {
            mEnterTransition = transition;
            mPipTransitionState.setState(PipTransitionState.SCHEDULED_ENTER_PIP);
Loading