diff options
13 files changed, 55 insertions, 99 deletions
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt index d15fbed409b8..23498de72481 100644 --- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt +++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt @@ -32,9 +32,7 @@ enum class DesktopModeTransitionSource : Parcelable { /** Transitions with source unknown. */ UNKNOWN; - override fun describeContents(): Int { - return 0 - } + override fun describeContents(): Int = 0 override fun writeToParcel(dest: Parcel, flags: Int) { dest.writeString(name) @@ -44,9 +42,8 @@ enum class DesktopModeTransitionSource : Parcelable { @JvmField val CREATOR = object : Parcelable.Creator<DesktopModeTransitionSource> { - override fun createFromParcel(parcel: Parcel): DesktopModeTransitionSource { - return parcel.readString()?.let { valueOf(it) } ?: UNKNOWN - } + override fun createFromParcel(parcel: Parcel): DesktopModeTransitionSource = + parcel.readString()?.let { valueOf(it) } ?: UNKNOWN override fun newArray(size: Int) = arrayOfNulls<DesktopModeTransitionSource>(size) } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeDragAndDropTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeDragAndDropTransitionHandler.kt index ca02c72c174e..f6fd9679922a 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeDragAndDropTransitionHandler.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeDragAndDropTransitionHandler.kt @@ -93,9 +93,8 @@ class DesktopModeDragAndDropTransitionHandler(private val transitions: Transitio return matchingChanges.first() } - private fun isValidTaskChange(change: TransitionInfo.Change): Boolean { - return change.taskInfo != null && change.taskInfo?.taskId != -1 - } + private fun isValidTaskChange(change: TransitionInfo.Change): Boolean = + change.taskInfo != null && change.taskInfo?.taskId != -1 override fun handleRequest( transition: IBinder, diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt index e975b586c1ee..c09504ee3725 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt @@ -434,18 +434,14 @@ class DesktopModeLoggerTransitionObserver( visibleFreeformTaskInfos.set(taskInfo.taskId, taskInfo) } - private fun TransitionInfo.Change.requireTaskInfo(): RunningTaskInfo { - return this.taskInfo ?: throw IllegalStateException("Expected TaskInfo in the Change") - } + private fun TransitionInfo.Change.requireTaskInfo(): RunningTaskInfo = + this.taskInfo ?: throw IllegalStateException("Expected TaskInfo in the Change") - private fun TaskInfo.isFreeformWindow(): Boolean { - return this.windowingMode == WINDOWING_MODE_FREEFORM - } + private fun TaskInfo.isFreeformWindow(): Boolean = this.windowingMode == WINDOWING_MODE_FREEFORM - private fun TransitionInfo.isExitToRecentsTransition(): Boolean { - return this.type == WindowManager.TRANSIT_TO_FRONT && + private fun TransitionInfo.isExitToRecentsTransition(): Boolean = + this.type == WindowManager.TRANSIT_TO_FRONT && this.flags == WindowManager.TRANSIT_FLAG_IS_RECENTS - } companion object { @VisibleForTesting const val VISIBLE_TASKS_COUNTER_NAME = "desktop_mode_visible_tasks" diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt index dba8c9367654..cdfa14bbc4e2 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt @@ -24,8 +24,8 @@ import java.io.PrintWriter class DesktopModeShellCommandHandler(private val controller: DesktopTasksController) : ShellCommandHandler.ShellCommandActionHandler { - override fun onShellCommand(args: Array<String>, pw: PrintWriter): Boolean { - return when (args[0]) { + override fun onShellCommand(args: Array<String>, pw: PrintWriter): Boolean = + when (args[0]) { "moveToDesktop" -> { if (!runMoveToDesktop(args, pw)) { pw.println("Task not found. Please enter a valid taskId.") @@ -47,7 +47,6 @@ class DesktopModeShellCommandHandler(private val controller: DesktopTasksControl false } } - } private fun runMoveToDesktop(args: Array<String>, pw: PrintWriter): Boolean { if (args.size < 2) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskPosition.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskPosition.kt index 848d80ff4f0b..f29301d92292 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskPosition.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskPosition.kt @@ -41,49 +41,35 @@ sealed class DesktopTaskPosition { return Point(x, y.toInt()) } - override fun next(): DesktopTaskPosition { - return BottomRight - } + override fun next(): DesktopTaskPosition = BottomRight } data object BottomRight : DesktopTaskPosition() { - override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point { - return Point(frame.right - window.width(), frame.bottom - window.height()) - } + override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point = + Point(frame.right - window.width(), frame.bottom - window.height()) - override fun next(): DesktopTaskPosition { - return TopLeft - } + override fun next(): DesktopTaskPosition = TopLeft } data object TopLeft : DesktopTaskPosition() { - override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point { - return Point(frame.left, frame.top) - } + override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point = + Point(frame.left, frame.top) - override fun next(): DesktopTaskPosition { - return BottomLeft - } + override fun next(): DesktopTaskPosition = BottomLeft } data object BottomLeft : DesktopTaskPosition() { - override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point { - return Point(frame.left, frame.bottom - window.height()) - } + override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point = + Point(frame.left, frame.bottom - window.height()) - override fun next(): DesktopTaskPosition { - return TopRight - } + override fun next(): DesktopTaskPosition = TopRight } data object TopRight : DesktopTaskPosition() { - override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point { - return Point(frame.right - window.width(), frame.top) - } + override fun getTopLeftCoordinates(frame: Rect, window: Rect): Point = + Point(frame.right - window.width(), frame.top) - override fun next(): DesktopTaskPosition { - return Center - } + override fun next(): DesktopTaskPosition = Center } /** diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt index 6013648c9806..73d15270c811 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt @@ -1470,13 +1470,9 @@ class DesktopTasksController( } } - override fun getContext(): Context { - return context - } + override fun getContext(): Context = context - override fun getRemoteCallExecutor(): ShellExecutor { - return mainExecutor - } + override fun getRemoteCallExecutor(): ShellExecutor = mainExecutor override fun startAnimation( transition: IBinder, @@ -1662,11 +1658,10 @@ class DesktopTasksController( DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_MODALS_POLICY.isTrue() && isTopActivityExemptFromDesktopWindowing(context, task) - private fun shouldHandleTaskClosing(request: TransitionRequestInfo): Boolean { - return ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY.isTrue() && + private fun shouldHandleTaskClosing(request: TransitionRequestInfo): Boolean = + ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY.isTrue() && TransitionUtil.isClosingType(request.type) && request.triggerTask != null - } /** Open an existing instance of an app. */ fun openInstance(callingTask: RunningTaskInfo, requestedTaskId: Int) { @@ -2185,11 +2180,10 @@ class DesktopTasksController( getFocusedFreeformTask(displayId)?.let { requestSplit(it, leftOrTop) } } - private fun getFocusedFreeformTask(displayId: Int): RunningTaskInfo? { - return shellTaskOrganizer.getRunningTasks(displayId).find { taskInfo -> + private fun getFocusedFreeformTask(displayId: Int): RunningTaskInfo? = + shellTaskOrganizer.getRunningTasks(displayId).find { taskInfo -> taskInfo.isFocused && taskInfo.windowingMode == WINDOWING_MODE_FREEFORM } - } /** * Requests a task be transitioned from desktop to split select. Applies needed windowing @@ -2237,14 +2231,10 @@ class DesktopTasksController( } } - private fun getDefaultDensityDpi(): Int { - return context.resources.displayMetrics.densityDpi - } + private fun getDefaultDensityDpi(): Int = context.resources.displayMetrics.densityDpi /** Creates a new instance of the external interface to pass to another process. */ - private fun createExternalInterface(): ExternalInterfaceBinder { - return IDesktopModeImpl(this) - } + private fun createExternalInterface(): ExternalInterfaceBinder = IDesktopModeImpl(this) /** Get connection interface between sysui and shell */ fun asDesktopMode(): DesktopMode { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt index c2dd4d28305b..e4a28e9efe60 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt @@ -138,11 +138,10 @@ class DesktopTasksLimiter( ) } - private fun getMinimizeChange(info: TransitionInfo, taskId: Int): TransitionInfo.Change? { - return info.changes.find { change -> + private fun getMinimizeChange(info: TransitionInfo, taskId: Int): TransitionInfo.Change? = + info.changes.find { change -> change.taskInfo?.taskId == taskId && change.mode == TRANSIT_TO_BACK } - } override fun onTransitionMerged(merged: IBinder, playing: IBinder) { if (activeTransitionTokensAndTasks.remove(merged) != null) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt index 1380a9ca164f..91f10dc4faf5 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt @@ -765,9 +765,8 @@ sealed class DragToDesktopTransitionHandler( transitionState = null } - private fun isSplitTask(taskId: Int): Boolean { - return splitScreenController.isTaskInSplitScreen(taskId) - } + private fun isSplitTask(taskId: Int): Boolean = + splitScreenController.isTaskInSplitScreen(taskId) private fun getOtherSplitTask(taskId: Int): Int? { val splitPos = splitScreenController.getSplitPosition(taskId) @@ -781,9 +780,8 @@ sealed class DragToDesktopTransitionHandler( return splitScreenController.getTaskInfo(otherTaskPos)?.taskId } - protected fun requireTransitionState(): TransitionState { - return transitionState ?: error("Expected non-null transition state") - } + protected fun requireTransitionState(): TransitionState = + transitionState ?: error("Expected non-null transition state") /** * Represents the layering (Z order) that will be given to any window based on its type during diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ToggleResizeDesktopTaskTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ToggleResizeDesktopTaskTransitionHandler.kt index a47e9370b58d..5e84019b14f5 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ToggleResizeDesktopTaskTransitionHandler.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ToggleResizeDesktopTaskTransitionHandler.kt @@ -156,13 +156,11 @@ class ToggleResizeDesktopTaskTransitionHandler( return matchingChanges.first() } - private fun isWallpaper(change: TransitionInfo.Change): Boolean { - return (change.flags and TransitionInfo.FLAG_IS_WALLPAPER) != 0 - } + private fun isWallpaper(change: TransitionInfo.Change): Boolean = + (change.flags and TransitionInfo.FLAG_IS_WALLPAPER) != 0 - private fun isValidTaskChange(change: TransitionInfo.Change): Boolean { - return change.taskInfo != null && change.taskInfo?.taskId != -1 - } + private fun isValidTaskChange(change: TransitionInfo.Change): Boolean = + change.taskInfo != null && change.taskInfo?.taskId != -1 companion object { private const val RESIZE_DURATION_MS = 300L diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt index 9b24c1c06cec..eb6f1d75e6ca 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt @@ -501,13 +501,12 @@ class DesktopModeEventLoggerTest : ShellTestCase() { } } - private fun createTaskInfo(): RunningTaskInfo { - return TestRunningTaskInfoBuilder() + private fun createTaskInfo(): RunningTaskInfo = + TestRunningTaskInfoBuilder() .setTaskId(TASK_ID) .setUid(TASK_UID) .setBounds(Rect(TASK_X, TASK_Y, TASK_WIDTH, TASK_HEIGHT)) .build() - } private fun verifyNoLogging() { verify( diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt index 4bb743079861..95ed8b4d4511 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt @@ -353,8 +353,8 @@ class DesktopTasksControllerTest : ShellTestCase() { taskRepository = userRepositories.current } - private fun createController(): DesktopTasksController { - return DesktopTasksController( + private fun createController() = + DesktopTasksController( context, shellInit, shellCommandHandler, @@ -388,7 +388,6 @@ class DesktopTasksControllerTest : ShellTestCase() { desktopWallpaperActivityTokenProvider, Optional.of(bubbleController), ) - } @After fun tearDown() { @@ -4958,13 +4957,12 @@ class DesktopTasksControllerTest : ShellTestCase() { return task } - private fun setUpPipTask(autoEnterEnabled: Boolean): RunningTaskInfo { + private fun setUpPipTask(autoEnterEnabled: Boolean): RunningTaskInfo = // active = false marks the task as non-visible; PiP window doesn't count as visible tasks - return setUpFreeformTask(active = false).apply { + setUpFreeformTask(active = false).apply { pictureInPictureParams = PictureInPictureParams.Builder().setAutoEnterEnabled(autoEnterEnabled).build() } - } private fun setUpHomeTask(displayId: Int = DEFAULT_DISPLAY): RunningTaskInfo { val task = createHomeTask(displayId) diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt index 96ed214e7f88..622cb4cad363 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt @@ -458,8 +458,8 @@ class DesktopTasksTransitionObserverTest { } } - private fun createCloseTransition(task: RunningTaskInfo?): TransitionInfo { - return TransitionInfo(TRANSIT_CLOSE, /* flags= */ 0).apply { + private fun createCloseTransition(task: RunningTaskInfo?) = + TransitionInfo(TRANSIT_CLOSE, /* flags= */ 0).apply { addChange( Change(mock(), mock()).apply { mode = TRANSIT_CLOSE @@ -469,10 +469,9 @@ class DesktopTasksTransitionObserverTest { } ) } - } - private fun createToBackTransition(task: RunningTaskInfo?): TransitionInfo { - return TransitionInfo(TRANSIT_TO_BACK, /* flags= */ 0).apply { + private fun createToBackTransition(task: RunningTaskInfo?) = + TransitionInfo(TRANSIT_TO_BACK, /* flags= */ 0).apply { addChange( Change(mock(), mock()).apply { mode = TRANSIT_TO_BACK @@ -482,7 +481,6 @@ class DesktopTasksTransitionObserverTest { } ) } - } private fun createToFrontTransition(task: RunningTaskInfo?): TransitionInfo { return TransitionInfo(TRANSIT_TO_FRONT, 0 /* flags */).apply { diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt index 341df0299a97..bf9cf00050dc 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt @@ -676,8 +676,8 @@ class DragToDesktopTransitionHandlerTest : ShellTestCase() { } } - private fun createTransitionInfo(type: Int, draggedTask: RunningTaskInfo): TransitionInfo { - return TransitionInfo(type, /* flags= */ 0).apply { + private fun createTransitionInfo(type: Int, draggedTask: RunningTaskInfo) = + TransitionInfo(type, /* flags= */ 0).apply { addChange( // Home. TransitionInfo.Change(mock(), homeTaskLeash).apply { parent = null @@ -700,7 +700,6 @@ class DragToDesktopTransitionHandlerTest : ShellTestCase() { } ) } - } private fun systemPropertiesKey(name: String) = "${SpringDragToDesktopTransitionHandler.SYSTEM_PROPERTIES_GROUP}.$name" |