Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +1 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,7 @@ public abstract class WMShellModule { mainChoreographer, taskOrganizer, displayController, rootTaskDisplayAreaOrganizer, syncQueue, transitions); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +9 −1 Original line number Diff line number Diff line Loading @@ -30,12 +30,14 @@ import android.view.Choreographer; import android.view.MotionEvent; import android.view.SurfaceControl; import android.view.View; import android.window.DisplayAreaInfo; import android.window.WindowContainerToken; import android.window.WindowContainerTransaction; import androidx.annotation.Nullable; import com.android.wm.shell.R; import com.android.wm.shell.RootTaskDisplayAreaOrganizer; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.SyncTransactionQueue; Loading @@ -53,6 +55,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { private final Handler mMainHandler; private final Choreographer mMainChoreographer; private final DisplayController mDisplayController; private final RootTaskDisplayAreaOrganizer mRootTaskDisplayAreaOrganizer; private final SyncTransactionQueue mSyncQueue; private final Transitions mTransitions; private TaskOperations mTaskOperations; Loading @@ -65,6 +68,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { Choreographer mainChoreographer, ShellTaskOrganizer taskOrganizer, DisplayController displayController, RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer, SyncTransactionQueue syncQueue, Transitions transitions) { mContext = context; Loading @@ -72,6 +76,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { mMainChoreographer = mainChoreographer; mTaskOrganizer = taskOrganizer; mDisplayController = displayController; mRootTaskDisplayAreaOrganizer = rootTaskDisplayAreaOrganizer; mSyncQueue = syncQueue; mTransitions = transitions; if (!Transitions.ENABLE_SHELL_TRANSITIONS) { Loading Loading @@ -231,7 +236,10 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { mTaskOperations.minimizeTask(mTaskToken); } else if (id == R.id.maximize_window) { RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); mTaskOperations.maximizeTask(taskInfo); final DisplayAreaInfo rootDisplayAreaInfo = mRootTaskDisplayAreaOrganizer.getDisplayAreaInfo(taskInfo.displayId); mTaskOperations.maximizeTask(taskInfo, rootDisplayAreaInfo.configuration.windowConfiguration.getWindowingMode()); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/TaskOperations.java +2 −4 Original line number Diff line number Diff line Loading @@ -91,14 +91,12 @@ class TaskOperations { } } void maximizeTask(RunningTaskInfo taskInfo) { void maximizeTask(RunningTaskInfo taskInfo, int containerWindowingMode) { WindowContainerTransaction wct = new WindowContainerTransaction(); int targetWindowingMode = taskInfo.getWindowingMode() != WINDOWING_MODE_FULLSCREEN ? WINDOWING_MODE_FULLSCREEN : WINDOWING_MODE_FREEFORM; int displayWindowingMode = taskInfo.configuration.windowConfiguration.getDisplayWindowingMode(); wct.setWindowingMode(taskInfo.token, targetWindowingMode == displayWindowingMode targetWindowingMode == containerWindowingMode ? WINDOWING_MODE_UNDEFINED : targetWindowingMode); if (targetWindowingMode == WINDOWING_MODE_FULLSCREEN) { wct.setBounds(taskInfo.token, null); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +1 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,7 @@ public abstract class WMShellModule { mainChoreographer, taskOrganizer, displayController, rootTaskDisplayAreaOrganizer, syncQueue, transitions); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +9 −1 Original line number Diff line number Diff line Loading @@ -30,12 +30,14 @@ import android.view.Choreographer; import android.view.MotionEvent; import android.view.SurfaceControl; import android.view.View; import android.window.DisplayAreaInfo; import android.window.WindowContainerToken; import android.window.WindowContainerTransaction; import androidx.annotation.Nullable; import com.android.wm.shell.R; import com.android.wm.shell.RootTaskDisplayAreaOrganizer; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.SyncTransactionQueue; Loading @@ -53,6 +55,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { private final Handler mMainHandler; private final Choreographer mMainChoreographer; private final DisplayController mDisplayController; private final RootTaskDisplayAreaOrganizer mRootTaskDisplayAreaOrganizer; private final SyncTransactionQueue mSyncQueue; private final Transitions mTransitions; private TaskOperations mTaskOperations; Loading @@ -65,6 +68,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { Choreographer mainChoreographer, ShellTaskOrganizer taskOrganizer, DisplayController displayController, RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer, SyncTransactionQueue syncQueue, Transitions transitions) { mContext = context; Loading @@ -72,6 +76,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { mMainChoreographer = mainChoreographer; mTaskOrganizer = taskOrganizer; mDisplayController = displayController; mRootTaskDisplayAreaOrganizer = rootTaskDisplayAreaOrganizer; mSyncQueue = syncQueue; mTransitions = transitions; if (!Transitions.ENABLE_SHELL_TRANSITIONS) { Loading Loading @@ -231,7 +236,10 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { mTaskOperations.minimizeTask(mTaskToken); } else if (id == R.id.maximize_window) { RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); mTaskOperations.maximizeTask(taskInfo); final DisplayAreaInfo rootDisplayAreaInfo = mRootTaskDisplayAreaOrganizer.getDisplayAreaInfo(taskInfo.displayId); mTaskOperations.maximizeTask(taskInfo, rootDisplayAreaInfo.configuration.windowConfiguration.getWindowingMode()); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/TaskOperations.java +2 −4 Original line number Diff line number Diff line Loading @@ -91,14 +91,12 @@ class TaskOperations { } } void maximizeTask(RunningTaskInfo taskInfo) { void maximizeTask(RunningTaskInfo taskInfo, int containerWindowingMode) { WindowContainerTransaction wct = new WindowContainerTransaction(); int targetWindowingMode = taskInfo.getWindowingMode() != WINDOWING_MODE_FULLSCREEN ? WINDOWING_MODE_FULLSCREEN : WINDOWING_MODE_FREEFORM; int displayWindowingMode = taskInfo.configuration.windowConfiguration.getDisplayWindowingMode(); wct.setWindowingMode(taskInfo.token, targetWindowingMode == displayWindowingMode targetWindowingMode == containerWindowingMode ? WINDOWING_MODE_UNDEFINED : targetWindowingMode); if (targetWindowingMode == WINDOWING_MODE_FULLSCREEN) { wct.setBounds(taskInfo.token, null); Loading