Run ktmft on a subset of files under WindowManager/Shell/s/c/a/wm/shell/desktopmode
Command:
external/ktfmt/ktfmt.sh --kotlinlang-style
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/
(we pick a handful of files to lower the chance of merge conflicts)
Bug: 372593306
Test: NA
Flag: EXEMPT formatting
Change-Id: I5ba2f8da874c8af9e0204f9703058bc09a5d50f7
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopWallpaperActivity.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopWallpaperActivity.kt
index 909a066..fd39becc 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopWallpaperActivity.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopWallpaperActivity.kt
@@ -49,7 +49,6 @@
taskInfo.baseIntent.component?.let(::isWallpaperComponent) ?: false
@JvmStatic
- fun isWallpaperComponent(component: ComponentName) =
- component == wallpaperActivityComponent
+ fun isWallpaperComponent(component: ComponentName) = component == wallpaperActivityComponent
}
}
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 d7d5519..d76eef5 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
@@ -108,14 +108,11 @@
* Note that the transition handler for this transition doesn't call the finish callback until
* after one of the "end" or "cancel" transitions is merged into this transition.
*/
- fun startDragToDesktopTransition(
- taskId: Int,
- dragToDesktopAnimator: MoveToDesktopAnimator,
- ) {
+ fun startDragToDesktopTransition(taskId: Int, dragToDesktopAnimator: MoveToDesktopAnimator) {
if (inProgress) {
ProtoLog.v(
ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
- "DragToDesktop: Drag to desktop transition already in progress."
+ "DragToDesktop: Drag to desktop transition already in progress.",
)
return
}
@@ -133,7 +130,7 @@
0 /* requestCode */,
launchHomeIntent,
FLAG_MUTABLE or FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT or FILL_IN_COMPONENT,
- options.toBundle()
+ options.toBundle(),
)
val wct = WindowContainerTransaction()
wct.sendPendingIntent(pendingIntent, launchHomeIntent, Bundle())
@@ -149,13 +146,13 @@
draggedTaskId = taskId,
dragAnimator = dragToDesktopAnimator,
startTransitionToken = startTransitionToken,
- otherSplitTask = otherTask
+ otherSplitTask = otherTask,
)
} else {
TransitionState.FromFullscreen(
draggedTaskId = taskId,
dragAnimator = dragToDesktopAnimator,
- startTransitionToken = startTransitionToken
+ startTransitionToken = startTransitionToken,
)
}
}
@@ -244,7 +241,7 @@
/** Calculate the bounds of a scaled task, then use those bounds to request split select. */
private fun requestSplitFromScaledTask(
@SplitPosition splitPosition: Int,
- wct: WindowContainerTransaction
+ wct: WindowContainerTransaction,
) {
val state = requireTransitionState()
val taskInfo = state.draggedTaskChange?.taskInfo ?: error("Expected non-null taskInfo")
@@ -259,7 +256,7 @@
dragPosition.x.toInt(),
dragPosition.y.toInt(),
(dragPosition.x + scaledWidth).toInt(),
- (dragPosition.y + scaledHeight).toInt()
+ (dragPosition.y + scaledHeight).toInt(),
)
requestSplitSelect(wct, taskInfo, splitPosition, animatedTaskBounds)
}
@@ -268,14 +265,14 @@
wct: WindowContainerTransaction,
taskInfo: RunningTaskInfo,
@SplitPosition splitPosition: Int,
- taskBounds: Rect = Rect(taskInfo.configuration.windowConfiguration.bounds)
+ taskBounds: Rect = Rect(taskInfo.configuration.windowConfiguration.bounds),
) {
// Prepare to exit split in order to enter split select.
if (taskInfo.windowingMode == WINDOWING_MODE_MULTI_WINDOW) {
splitScreenController.prepareExitSplitScreen(
wct,
splitScreenController.getStageOfTask(taskInfo.taskId),
- SplitScreenController.EXIT_REASON_DESKTOP_MODE
+ SplitScreenController.EXIT_REASON_DESKTOP_MODE,
)
splitScreenController.transitionHandler.onSplitToDesktop()
}
@@ -289,7 +286,7 @@
info: TransitionInfo,
startTransaction: SurfaceControl.Transaction,
finishTransaction: SurfaceControl.Transaction,
- finishCallback: Transitions.TransitionFinishCallback
+ finishCallback: Transitions.TransitionFinishCallback,
): Boolean {
val state = requireTransitionState()
@@ -387,7 +384,7 @@
taskDisplayAreaOrganizer.reparentToDisplayArea(
change.endDisplayId,
change.leash,
- startTransaction
+ startTransaction,
)
val bounds = change.endAbsBounds
startTransaction.apply {
@@ -454,7 +451,7 @@
info: TransitionInfo,
t: SurfaceControl.Transaction,
mergeTarget: IBinder,
- finishCallback: Transitions.TransitionFinishCallback
+ finishCallback: Transitions.TransitionFinishCallback,
) {
val state = requireTransitionState()
// We don't want to merge the split select animation if that's what we requested.
@@ -483,7 +480,7 @@
setupEndDragToDesktop(
info,
startTransaction = t,
- finishTransaction = startTransactionFinishT
+ finishTransaction = startTransactionFinishT,
)
// Call finishCallback to merge animation before startTransitionFinishCb is called
finishCallback.onTransitionFinished(null /* wct */)
@@ -503,7 +500,7 @@
protected open fun setupEndDragToDesktop(
info: TransitionInfo,
startTransaction: SurfaceControl.Transaction,
- finishTransaction: SurfaceControl.Transaction
+ finishTransaction: SurfaceControl.Transaction,
) {
val state = requireTransitionState()
val freeformTaskChanges = mutableListOf<Change>()
@@ -545,7 +542,7 @@
protected open fun animateEndDragToDesktop(
startTransaction: SurfaceControl.Transaction,
- startTransitionFinishCb: Transitions.TransitionFinishCallback
+ startTransitionFinishCb: Transitions.TransitionFinishCallback,
) {
val state = requireTransitionState()
val draggedTaskChange =
@@ -568,7 +565,7 @@
startPosition.x.toInt(),
startPosition.y.toInt(),
startPosition.x.toInt() + unscaledStartWidth,
- startPosition.y.toInt() + unscaledStartHeight
+ startPosition.y.toInt() + unscaledStartHeight,
)
dragToDesktopStateListener?.onCommitToDesktopAnimationStart(startTransaction)
@@ -578,7 +575,7 @@
onTaskResizeAnimationListener.onAnimationStart(
state.draggedTaskId,
startTransaction,
- unscaledStartBounds
+ unscaledStartBounds,
)
val tx: SurfaceControl.Transaction = transactionSupplier.get()
ValueAnimator.ofObject(rectEvaluator, unscaledStartBounds, endBounds)
@@ -594,21 +591,21 @@
setPosition(
draggedTaskLeash,
animBounds.left.toFloat(),
- animBounds.top.toFloat()
+ animBounds.top.toFloat(),
)
setWindowCrop(draggedTaskLeash, animBounds.width(), animBounds.height())
}
onTaskResizeAnimationListener.onBoundsChange(
state.draggedTaskId,
tx,
- animBounds
+ animBounds,
)
}
addListener(
object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
onTaskResizeAnimationListener.onAnimationEnd(state.draggedTaskId)
- startTransitionFinishCb.onTransitionFinished(/* wct = */ null)
+ startTransitionFinishCb.onTransitionFinished(/* wct= */ null)
clearState()
interactionJankMonitor.end(
CUJ_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG_RELEASE
@@ -622,7 +619,7 @@
override fun handleRequest(
transition: IBinder,
- request: TransitionRequestInfo
+ request: TransitionRequestInfo,
): WindowContainerTransaction? {
// Only handle transitions started from shell.
return null
@@ -631,7 +628,7 @@
override fun onTransitionConsumed(
transition: IBinder,
aborted: Boolean,
- finishTransaction: SurfaceControl.Transaction?
+ finishTransaction: SurfaceControl.Transaction?,
) {
val state = transitionState ?: return
if (!aborted) {
@@ -640,15 +637,13 @@
if (state.startTransitionToken == transition) {
ProtoLog.v(
ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
- "DragToDesktop: onTransitionConsumed() start transition aborted"
+ "DragToDesktop: onTransitionConsumed() start transition aborted",
)
state.startAborted = true
// The start-transition (DRAG_HOLD) is aborted, cancel its jank interaction.
interactionJankMonitor.cancel(CUJ_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG_HOLD)
} else if (state.cancelTransitionToken == transition) {
- state.draggedTaskChange?.leash?.let {
- state.startTransitionFinishTransaction?.show(it)
- }
+ state.draggedTaskChange?.leash?.let { state.startTransitionFinishTransaction?.show(it) }
state.startTransitionFinishCb?.onTransitionFinished(null /* wct */)
clearState()
} else {
@@ -724,7 +719,7 @@
private fun restoreWindowOrder(
wct: WindowContainerTransaction,
- state: TransitionState = requireTransitionState()
+ state: TransitionState = requireTransitionState(),
) {
when (state) {
is TransitionState.FromFullscreen -> {
@@ -831,7 +826,7 @@
override var surfaceLayers: DragToDesktopLayers? = null,
override var cancelState: CancelState = CancelState.NO_CANCEL,
override var startAborted: Boolean = false,
- var otherRootChanges: MutableList<Change> = mutableListOf()
+ var otherRootChanges: MutableList<Change> = mutableListOf(),
) : TransitionState()
data class FromSplit(
@@ -848,7 +843,7 @@
override var cancelState: CancelState = CancelState.NO_CANCEL,
override var startAborted: Boolean = false,
var splitRootChange: Change? = null,
- var otherSplitTask: Int
+ var otherSplitTask: Int,
) : TransitionState()
}
@@ -861,7 +856,7 @@
/** A cancel event where the task will request to enter split on the left side. */
CANCEL_SPLIT_LEFT,
/** A cancel event where the task will request to enter split on the right side. */
- CANCEL_SPLIT_RIGHT
+ CANCEL_SPLIT_RIGHT,
}
companion object {
@@ -888,7 +883,7 @@
transitions,
taskDisplayAreaOrganizer,
interactionJankMonitor,
- transactionSupplier
+ transactionSupplier,
) {
/**
@@ -903,7 +898,7 @@
topAppLayer = info.changes.size,
topHomeLayer = info.changes.size * 2,
topWallpaperLayer = info.changes.size * 3,
- dragLayer = info.changes.size * 3
+ dragLayer = info.changes.size * 3,
)
}
@@ -924,7 +919,7 @@
transitions,
taskDisplayAreaOrganizer,
interactionJankMonitor,
- transactionSupplier
+ transactionSupplier,
) {
private val positionSpringConfig =
@@ -945,13 +940,13 @@
topAppLayer = -1,
topHomeLayer = info.changes.size - 1,
topWallpaperLayer = info.changes.size * 2 - 1,
- dragLayer = info.changes.size * 2
+ dragLayer = info.changes.size * 2,
)
override fun setupEndDragToDesktop(
info: TransitionInfo,
startTransaction: SurfaceControl.Transaction,
- finishTransaction: SurfaceControl.Transaction
+ finishTransaction: SurfaceControl.Transaction,
) {
super.setupEndDragToDesktop(info, startTransaction, finishTransaction)
@@ -974,7 +969,7 @@
override fun animateEndDragToDesktop(
startTransaction: SurfaceControl.Transaction,
- startTransitionFinishCb: Transitions.TransitionFinishCallback
+ startTransitionFinishCb: Transitions.TransitionFinishCallback,
) {
val state = requireTransitionState()
val draggedTaskChange =
@@ -1002,7 +997,7 @@
onTaskResizeAnimationListener.onAnimationStart(
state.draggedTaskId,
startTransaction,
- startBoundsWithOffset
+ startBoundsWithOffset,
)
val tx: SurfaceControl.Transaction = transactionSupplier.get()
@@ -1011,13 +1006,13 @@
FloatProperties.RECT_X,
endBounds.left.toFloat(),
currentVelocity.x,
- positionSpringConfig
+ positionSpringConfig,
)
.spring(
FloatProperties.RECT_Y,
endBounds.top.toFloat(),
currentVelocity.y,
- positionSpringConfig
+ positionSpringConfig,
)
.spring(FloatProperties.RECT_WIDTH, endBounds.width().toFloat(), sizeSpringConfig)
.spring(FloatProperties.RECT_HEIGHT, endBounds.height().toFloat(), sizeSpringConfig)
@@ -1050,7 +1045,7 @@
setPosition(
draggedTaskLeash,
animBounds.left.toFloat(),
- animBounds.top.toFloat()
+ animBounds.top.toFloat(),
)
// Update freeform tasks
freeformTaskChanges.forEach {
@@ -1069,7 +1064,7 @@
}
.withEndActions({
onTaskResizeAnimationListener.onAnimationEnd(state.draggedTaskId)
- startTransitionFinishCb.onTransitionFinished(/* wct = */ null)
+ startTransitionFinishCb.onTransitionFinished(/* wct= */ null)
clearState()
interactionJankMonitor.end(CUJ_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG_RELEASE)
})
@@ -1094,7 +1089,7 @@
propertyValue(
"position_damping_ratio",
scale = 100f,
- default = SpringForce.DAMPING_RATIO_LOW_BOUNCY
+ default = SpringForce.DAMPING_RATIO_LOW_BOUNCY,
)
/** The spring force stiffness used to resize the window into the final bounds. */
@@ -1106,7 +1101,7 @@
propertyValue(
"size_damping_ratio",
scale = 100f,
- default = SpringForce.DAMPING_RATIO_NO_BOUNCY
+ default = SpringForce.DAMPING_RATIO_NO_BOUNCY,
)
/** Drag to desktop transition system properties group. */
@@ -1123,7 +1118,7 @@
fun propertyValue(name: String, scale: Float = 1f, default: Float = 0f): Float =
SystemProperties.getInt(
/* key= */ "$SYSTEM_PROPERTIES_GROUP.$name",
- /* def= */ (default * scale).toInt()
+ /* def= */ (default * scale).toInt(),
) / scale
}
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ReturnToDragStartAnimator.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ReturnToDragStartAnimator.kt
index 4e08d10..3edeecb 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ReturnToDragStartAnimator.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ReturnToDragStartAnimator.kt
@@ -30,13 +30,14 @@
/** Animates the task surface moving from its current drag position to its pre-drag position. */
class ReturnToDragStartAnimator(
private val transactionSupplier: Supplier<SurfaceControl.Transaction>,
- private val interactionJankMonitor: InteractionJankMonitor
+ private val interactionJankMonitor: InteractionJankMonitor,
) {
private var boundsAnimator: Animator? = null
private lateinit var taskRepositionAnimationListener: OnTaskRepositionAnimationListener
- constructor(interactionJankMonitor: InteractionJankMonitor) :
- this(Supplier { SurfaceControl.Transaction() }, interactionJankMonitor)
+ constructor(
+ interactionJankMonitor: InteractionJankMonitor
+ ) : this(Supplier { SurfaceControl.Transaction() }, interactionJankMonitor)
/** Sets a listener for the start and end of the reposition animation. */
fun setTaskRepositionAnimationListener(listener: OnTaskRepositionAnimationListener) {
@@ -65,7 +66,7 @@
.setPosition(
taskSurface,
startBounds.left.toFloat(),
- startBounds.top.toFloat()
+ startBounds.top.toFloat(),
)
.show(taskSurface)
.apply()
@@ -77,7 +78,7 @@
.setPosition(
taskSurface,
endBounds.left.toFloat(),
- endBounds.top.toFloat()
+ endBounds.top.toFloat(),
)
.show(taskSurface)
.apply()
@@ -85,7 +86,7 @@
boundsAnimator = null
doOnEnd?.invoke()
interactionJankMonitor.end(Cuj.CUJ_DESKTOP_MODE_SNAP_RESIZE)
- }
+ },
)
addUpdateListener { anim ->
val rect = anim.animatedValue as Rect
@@ -100,4 +101,4 @@
companion object {
const val RETURN_TO_DRAG_START_ANIMATION_MS = 300L
}
-}
\ No newline at end of file
+}
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 6df3302..e683f62 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
@@ -39,7 +39,7 @@
class ToggleResizeDesktopTaskTransitionHandler(
private val transitions: Transitions,
private val transactionSupplier: Supplier<SurfaceControl.Transaction>,
- private val interactionJankMonitor: InteractionJankMonitor
+ private val interactionJankMonitor: InteractionJankMonitor,
) : Transitions.TransitionHandler {
private val rectEvaluator = RectEvaluator(Rect())
@@ -50,16 +50,16 @@
constructor(
transitions: Transitions,
- interactionJankMonitor: InteractionJankMonitor
+ interactionJankMonitor: InteractionJankMonitor,
) : this(transitions, Supplier { SurfaceControl.Transaction() }, interactionJankMonitor)
/**
* Starts a quick resize transition.
*
- * @param wct WindowContainerTransaction that will update core about the task changes applied
- * @param taskLeashBounds current bounds of the task leash (Note: not guaranteed to be the
- * bounds of the actual task). This is provided so that the animation
- * resizing can begin where the task leash currently is for smoother UX.
+ * @param wct WindowContainerTransaction that will update core about the task changes applied
+ * @param taskLeashBounds current bounds of the task leash (Note: not guaranteed to be the
+ * bounds of the actual task). This is provided so that the animation resizing can begin where
+ * the task leash currently is for smoother UX.
*/
fun startTransition(wct: WindowContainerTransaction, taskLeashBounds: Rect? = null) {
transitions.startTransition(TRANSIT_DESKTOP_MODE_TOGGLE_RESIZE, wct, this)
@@ -75,7 +75,7 @@
info: TransitionInfo,
startTransaction: SurfaceControl.Transaction,
finishTransaction: SurfaceControl.Transaction,
- finishCallback: Transitions.TransitionFinishCallback
+ finishCallback: Transitions.TransitionFinishCallback,
): Boolean {
val change = findRelevantChange(info)
val leash = change.leash
@@ -95,7 +95,7 @@
.setPosition(
leash,
startBounds.left.toFloat(),
- startBounds.top.toFloat()
+ startBounds.top.toFloat(),
)
.setWindowCrop(leash, startBounds.width(), startBounds.height())
.show(leash)
@@ -110,7 +110,7 @@
.setPosition(
leash,
endBounds.left.toFloat(),
- endBounds.top.toFloat()
+ endBounds.top.toFloat(),
)
.setWindowCrop(leash, endBounds.width(), endBounds.height())
.show(leash)
@@ -121,7 +121,7 @@
interactionJankMonitor.end(Cuj.CUJ_DESKTOP_MODE_MAXIMIZE_WINDOW)
interactionJankMonitor.end(Cuj.CUJ_DESKTOP_MODE_UNMAXIMIZE_WINDOW)
interactionJankMonitor.end(Cuj.CUJ_DESKTOP_MODE_SNAP_RESIZE)
- }
+ },
)
addUpdateListener { anim ->
val rect = anim.animatedValue as Rect
@@ -138,7 +138,7 @@
override fun handleRequest(
transition: IBinder,
- request: TransitionRequestInfo
+ request: TransitionRequestInfo,
): WindowContainerTransaction? {
return null
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/WindowDecorCaptionHandleRepository.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/WindowDecorCaptionHandleRepository.kt
index 8bfcca0..131b748 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/WindowDecorCaptionHandleRepository.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/WindowDecorCaptionHandleRepository.kt
@@ -27,23 +27,22 @@
/** Repository to observe caption state. */
class WindowDecorCaptionHandleRepository {
- private val _captionStateFlow = MutableStateFlow<CaptionState>(CaptionState.NoCaption)
- /** Observer for app handle state changes. */
- val captionStateFlow: StateFlow<CaptionState> = _captionStateFlow
- private val _appToWebUsageFlow = MutableSharedFlow<Unit>()
- /** Observer for App-to-Web usage. */
- val appToWebUsageFlow = _appToWebUsageFlow
+ private val _captionStateFlow = MutableStateFlow<CaptionState>(CaptionState.NoCaption)
+ /** Observer for app handle state changes. */
+ val captionStateFlow: StateFlow<CaptionState> = _captionStateFlow
+ private val _appToWebUsageFlow = MutableSharedFlow<Unit>()
+ /** Observer for App-to-Web usage. */
+ val appToWebUsageFlow = _appToWebUsageFlow
+ /** Notifies [captionStateFlow] if there is a change to caption state. */
+ fun notifyCaptionChanged(captionState: CaptionState) {
+ _captionStateFlow.value = captionState
+ }
- /** Notifies [captionStateFlow] if there is a change to caption state. */
- fun notifyCaptionChanged(captionState: CaptionState) {
- _captionStateFlow.value = captionState
- }
-
- /** Notifies [appToWebUsageFlow] if App-to-Web feature is used. */
- fun onAppToWebUsage() {
- _appToWebUsageFlow.tryEmit(Unit)
- }
+ /** Notifies [appToWebUsageFlow] if App-to-Web feature is used. */
+ fun onAppToWebUsage() {
+ _appToWebUsageFlow.tryEmit(Unit)
+ }
}
/**
@@ -54,20 +53,20 @@
* * [AppHeader]: Indicating that there is at least one visible app chip on the screen.
* * [NoCaption]: Signifying that no caption handle is currently visible on the device.
*/
-sealed class CaptionState{
- data class AppHandle(
- val runningTaskInfo: RunningTaskInfo,
- val isHandleMenuExpanded: Boolean,
- val globalAppHandleBounds: Rect,
- val isCapturedLinkAvailable: Boolean
- ) : CaptionState()
+sealed class CaptionState {
+ data class AppHandle(
+ val runningTaskInfo: RunningTaskInfo,
+ val isHandleMenuExpanded: Boolean,
+ val globalAppHandleBounds: Rect,
+ val isCapturedLinkAvailable: Boolean,
+ ) : CaptionState()
- data class AppHeader(
- val runningTaskInfo: RunningTaskInfo,
- val isHeaderMenuExpanded: Boolean,
- val globalAppChipBounds: Rect,
- val isCapturedLinkAvailable: Boolean
- ) : CaptionState()
+ data class AppHeader(
+ val runningTaskInfo: RunningTaskInfo,
+ val isHeaderMenuExpanded: Boolean,
+ val globalAppChipBounds: Rect,
+ val isCapturedLinkAvailable: Boolean,
+ ) : CaptionState()
- data object NoCaption : CaptionState()
+ data object NoCaption : CaptionState()
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/minimize/DesktopWindowLimitRemoteHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/minimize/DesktopWindowLimitRemoteHandler.kt
index 7554cbb..4298bd2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/minimize/DesktopWindowLimitRemoteHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/minimize/DesktopWindowLimitRemoteHandler.kt
@@ -43,7 +43,7 @@
private val rootTaskDisplayAreaOrganizer: RootTaskDisplayAreaOrganizer,
remoteTransition: RemoteTransition,
private val taskIdToMinimize: Int,
- ) : TransitionHandler {
+) : TransitionHandler {
private val oneShotRemoteHandler = OneShotRemoteHandler(mainExecutor, remoteTransition)
private var transition: IBinder? = null
@@ -56,7 +56,7 @@
override fun handleRequest(
transition: IBinder,
- request: TransitionRequestInfo
+ request: TransitionRequestInfo,
): WindowContainerTransaction? {
this.transition = transition
return oneShotRemoteHandler.handleRequest(transition, request)
@@ -67,7 +67,7 @@
info: TransitionInfo,
startTransaction: SurfaceControl.Transaction,
finishTransaction: SurfaceControl.Transaction,
- finishCallback: Transitions.TransitionFinishCallback
+ finishCallback: Transitions.TransitionFinishCallback,
): Boolean {
if (transition != this.transition) return false
val minimizeChange = findMinimizeChange(info, taskIdToMinimize) ?: return false
@@ -76,7 +76,12 @@
// have access to RootTaskDisplayAreaOrganizer.
applyMinimizeChangeReparenting(info, minimizeChange, startTransaction)
return oneShotRemoteHandler.startAnimation(
- transition, info, startTransaction, finishTransaction, finishCallback)
+ transition,
+ info,
+ startTransaction,
+ finishTransaction,
+ finishCallback,
+ )
}
private fun applyMinimizeChangeReparenting(
@@ -87,14 +92,15 @@
val taskInfo = minimizeChange.taskInfo ?: return
if (taskInfo.isFreeform && TransitionUtil.isOpeningMode(info.type)) {
rootTaskDisplayAreaOrganizer.reparentToDisplayArea(
- taskInfo.displayId, minimizeChange.leash, startTransaction)
+ taskInfo.displayId,
+ minimizeChange.leash,
+ startTransaction,
+ )
}
}
- private fun findMinimizeChange(
- info: TransitionInfo,
- taskIdToMinimize: Int,
- ): Change? =
+ private fun findMinimizeChange(info: TransitionInfo, taskIdToMinimize: Int): Change? =
info.changes.find { change ->
- change.taskInfo?.taskId == taskIdToMinimize && change.mode == TRANSIT_TO_BACK }
+ change.taskInfo?.taskId == taskIdToMinimize && change.mode == TRANSIT_TO_BACK
+ }
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopPersistentRepository.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopPersistentRepository.kt
index b7de1f8..a6998e1 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopPersistentRepository.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopPersistentRepository.kt
@@ -40,9 +40,7 @@
*
* The main constructor is public only for testing purposes.
*/
-class DesktopPersistentRepository(
- private val dataStore: DataStore<DesktopPersistentRepositories>,
-) {
+class DesktopPersistentRepository(private val dataStore: DataStore<DesktopPersistentRepositories>) {
constructor(
context: Context,
@ShellBackgroundThread bgCoroutineScope: CoroutineScope,
@@ -51,7 +49,7 @@
serializer = DesktopPersistentRepositoriesSerializer,
produceFile = { context.dataStoreFile(DESKTOP_REPOSITORIES_DATASTORE_FILE) },
scope = bgCoroutineScope,
- ),
+ )
)
/** Provides `dataStore.data` flow and handles exceptions thrown during collection */
@@ -63,7 +61,8 @@
TAG,
"Error in reading desktop mode related data from datastore, data is " +
"stored in a file named $DESKTOP_REPOSITORIES_DATASTORE_FILE",
- exception)
+ exception,
+ )
} else {
throw exception
}
@@ -73,13 +72,9 @@
* Reads and returns the [DesktopRepositoryState] proto object from the DataStore for a user. If
* the DataStore is empty or there's an error reading, it returns the default value of Proto.
*/
- suspend fun getDesktopRepositoryState(
- userId: Int
- ): DesktopRepositoryState? =
+ suspend fun getDesktopRepositoryState(userId: Int): DesktopRepositoryState? =
try {
- dataStoreFlow
- .first()
- .desktopRepoByUserMap[userId]
+ dataStoreFlow.first().desktopRepoByUserMap[userId]
} catch (e: Exception) {
Log.e(TAG, "Unable to read from datastore", e)
null
@@ -97,10 +92,7 @@
* Reads the [Desktop] of a desktop filtering by the [userId] and [desktopId]. Executes the
* [callback] using the [mainCoroutineScope].
*/
- suspend fun readDesktop(
- userId: Int,
- desktopId: Int = DEFAULT_DESKTOP_ID,
- ): Desktop? =
+ suspend fun readDesktop(userId: Int, desktopId: Int = DEFAULT_DESKTOP_ID): Desktop? =
try {
val repository = getDesktopRepositoryState(userId)
repository?.getDesktopOrThrow(desktopId)
@@ -122,25 +114,21 @@
dataStore.updateData { persistentRepositories: DesktopPersistentRepositories ->
val currentRepository =
persistentRepositories.getDesktopRepoByUserOrDefault(
- userId, DesktopRepositoryState.getDefaultInstance())
+ userId,
+ DesktopRepositoryState.getDefaultInstance(),
+ )
val desktop =
getDesktop(currentRepository, desktopId)
.toBuilder()
- .updateTaskStates(
- visibleTasks,
- minimizedTasks,
- freeformTasksInZOrder,
- )
+ .updateTaskStates(visibleTasks, minimizedTasks, freeformTasksInZOrder)
.updateZOrder(freeformTasksInZOrder)
persistentRepositories
.toBuilder()
.putDesktopRepoByUser(
userId,
- currentRepository
- .toBuilder()
- .putDesktop(desktopId, desktop.build())
- .build())
+ currentRepository.toBuilder().putDesktop(desktopId, desktop.build()).build(),
+ )
.build()
}
} catch (exception: Exception) {
@@ -148,7 +136,8 @@
TAG,
"Error in updating desktop mode related data, data is " +
"stored in a file named $DESKTOP_REPOSITORIES_DATASTORE_FILE",
- exception)
+ exception,
+ )
}
}
@@ -156,7 +145,8 @@
// If there are no desktops set up, create one on the default display
currentRepository.getDesktopOrDefault(
desktopId,
- Desktop.newBuilder().setDesktopId(desktopId).setDisplayId(DEFAULT_DISPLAY).build())
+ Desktop.newBuilder().setDesktopId(desktopId).setDisplayId(DEFAULT_DISPLAY).build(),
+ )
companion object {
private const val TAG = "DesktopPersistenceRepo"
@@ -192,19 +182,22 @@
// visible, they will be marked as not visible afterwards. This ensures that they are
// still persisted as visible.
// TODO - b/350476823: Remove this logic once repository holds expanded tasks
- if (freeformTasksInZOrder.size > visibleTasks.size + minimizedTasks.size &&
- visibleTasks.isEmpty()
+ if (
+ freeformTasksInZOrder.size > visibleTasks.size + minimizedTasks.size &&
+ visibleTasks.isEmpty()
) {
visibleTasks.addAll(freeformTasksInZOrder.filterNot { it in minimizedTasks })
}
putAllTasksByTaskId(
visibleTasks.associateWith {
createDesktopTask(it, state = DesktopTaskState.VISIBLE)
- })
+ }
+ )
putAllTasksByTaskId(
minimizedTasks.associateWith {
createDesktopTask(it, state = DesktopTaskState.MINIMIZED)
- })
+ }
+ )
return this
}
@@ -218,7 +211,7 @@
private fun createDesktopTask(
taskId: Int,
- state: DesktopTaskState = DesktopTaskState.VISIBLE
+ state: DesktopTaskState = DesktopTaskState.VISIBLE,
): DesktopTask =
DesktopTask.newBuilder().setTaskId(taskId).setDesktopTaskState(state).build()
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopRepositoryInitializerImpl.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopRepositoryInitializerImpl.kt
index 9539cbe..58a49a0 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopRepositoryInitializerImpl.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/persistence/DesktopRepositoryInitializerImpl.kt
@@ -59,29 +59,27 @@
.reversed()
.mapNotNull { taskId -> persistentDesktop.tasksByTaskIdMap[taskId] }
.forEach { task ->
- if (task.desktopTaskState == DesktopTaskState.VISIBLE
- && visibleTasksCount < maxTasks) {
+ if (
+ task.desktopTaskState == DesktopTaskState.VISIBLE &&
+ visibleTasksCount < maxTasks
+ ) {
visibleTasksCount++
repository.addTask(
persistentDesktop.displayId,
task.taskId,
- isVisible = false
+ isVisible = false,
)
} else {
repository.addTask(
persistentDesktop.displayId,
task.taskId,
- isVisible = false
+ isVisible = false,
)
- repository.minimizeTask(
- persistentDesktop.displayId,
- task.taskId
- )
+ repository.minimizeTask(persistentDesktop.displayId, task.taskId)
}
}
- }
}
+ }
}
-
}
}