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

Commit 4b87a42e authored by Merissa Mitchell's avatar Merissa Mitchell Committed by Android (Google) Code Review
Browse files

Merge changes Ide0554b1,I2f99d2d9 into main

* changes:
  [PiP on CD] Update CD PiP check to depend on Pip2 flag.
  [PiP on Desktop] Update Desktop PiP flag callers to use DesktopModeFlags.
parents 7fd9e92e 58373f97
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ public enum DesktopModeFlags {
    ENABLE_DESKTOP_WINDOWING_MULTI_INSTANCE_FEATURES(
            Flags::enableDesktopWindowingMultiInstanceFeatures, true),
    ENABLE_DESKTOP_WINDOWING_PERSISTENCE(Flags::enableDesktopWindowingPersistence, true),
    ENABLE_DESKTOP_WINDOWING_PIP(Flags::enableDesktopWindowingPip, false),
    ENABLE_DESKTOP_WINDOWING_QUICK_SWITCH(Flags::enableDesktopWindowingQuickSwitch, true),
    ENABLE_DESKTOP_WINDOWING_SCVH_CACHE(Flags::enableDesktopWindowingScvhCacheBugFix, true),
    ENABLE_DESKTOP_WINDOWING_SIZE_CONSTRAINTS(Flags::enableDesktopWindowingSizeConstraints, true),
+11 −5
Original line number Diff line number Diff line
@@ -20,9 +20,10 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;

import android.window.DesktopExperienceFlags;
import android.window.DesktopModeFlags;
import android.window.DisplayAreaInfo;

import com.android.window.flags.Flags;
import com.android.wm.shell.Flags;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.desktopmode.DesktopUserRepositories;
import com.android.wm.shell.desktopmode.DragToDesktopTransitionHandler;
@@ -48,18 +49,23 @@ public class PipDesktopState {

    /**
     * Returns whether PiP in Desktop Windowing is enabled by checking the following:
     * - Desktop Windowing in PiP flag is enabled
     * - PiP in Desktop Windowing flag is enabled
     * - DesktopUserRepositories is injected
     * - DragToDesktopTransitionHandler is injected
     */
    public boolean isDesktopWindowingPipEnabled() {
        return Flags.enableDesktopWindowingPip() && mDesktopUserRepositoriesOptional.isPresent()
        return DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_PIP.isTrue()
                && mDesktopUserRepositoriesOptional.isPresent()
                && mDragToDesktopTransitionHandlerOptional.isPresent();
    }

    /** Returns whether PiP in Connected Displays is enabled by checking the flag. */
    /**
     * Returns whether PiP in Connected Displays is enabled by checking the following:
     * - PiP in Connected Displays flag is enabled
     * - PiP2 flag is enabled
     */
    public boolean isConnectedDisplaysPipEnabled() {
        return DesktopExperienceFlags.ENABLE_CONNECTED_DISPLAYS_PIP.isTrue();
        return DesktopExperienceFlags.ENABLE_CONNECTED_DISPLAYS_PIP.isTrue() && Flags.enablePip2();
    }

    /** Returns whether the display with the PiP task is in freeform windowing mode. */
+1 −2
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.window.DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVI
import android.window.TransitionInfo
import android.window.WindowContainerTransaction
import com.android.internal.protolog.ProtoLog
import com.android.window.flags.Flags
import com.android.wm.shell.ShellTaskOrganizer
import com.android.wm.shell.back.BackAnimationController
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.isExitDesktopModeTransition
@@ -107,7 +106,7 @@ class DesktopTasksTransitionObserver(
        info.changes.forEach { change ->
            change.taskInfo?.let { taskInfo ->
                if (
                    Flags.enableDesktopWindowingPip() &&
                    DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_PIP.isTrue &&
                        desktopRepository.isTaskMinimizedPipInDisplay(
                            taskInfo.displayId,
                            taskInfo.taskId,
+2 −2
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ import android.view.Choreographer;
import android.view.Display;
import android.view.Surface;
import android.view.SurfaceControl;
import android.window.DesktopModeFlags;
import android.window.DisplayAreaInfo;
import android.window.TaskOrganizer;
import android.window.TaskSnapshot;
@@ -78,7 +79,6 @@ import android.window.WindowContainerTransaction;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.ProtoLog;
import com.android.window.flags.Flags;
import com.android.wm.shell.R;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.ShellTaskOrganizer;
@@ -781,7 +781,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
    // TODO(b/377581840): Update this check to include non-minimized cases, e.g. split to PiP etc.
    private boolean isPipExitingToDesktopMode() {
        DesktopRepository currentRepo = getCurrentRepo();
        return Flags.enableDesktopWindowingPip() && currentRepo != null
        return DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_PIP.isTrue() && currentRepo != null
                && (currentRepo.isAnyDeskActive(mTaskInfo.displayId)
                    || isDisplayInFreeform());
    }
+2 −2
Original line number Diff line number Diff line
@@ -39,11 +39,11 @@ import android.view.InputEventReceiver;
import android.view.InputMonitor;
import android.view.MotionEvent;
import android.view.ViewConfiguration;
import android.window.DesktopModeFlags;

import androidx.annotation.VisibleForTesting;

import com.android.internal.policy.TaskResizingAlgorithm;
import com.android.window.flags.Flags;
import com.android.wm.shell.R;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.pip.PipBoundsAlgorithm;
@@ -183,7 +183,7 @@ public class PipResizeGestureHandler {
    private void reloadResources() {
        final Resources res = mContext.getResources();
        mDelta = res.getDimensionPixelSize(R.dimen.pip_resize_edge_size);
        mEnableDragCornerResize = Flags.enableDesktopWindowingPip();
        mEnableDragCornerResize = DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_PIP.isTrue();
        mTouchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop();
    }

Loading