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

Commit 02c2d4b8 authored by Orhan Uysal's avatar Orhan Uysal Committed by Android (Google) Code Review
Browse files

Merge "Fix formatting issues in desktop files." into main

parents 7018b6bd 52135103
Loading
Loading
Loading
Loading
+39 −40
Original line number Diff line number Diff line
@@ -20,9 +20,7 @@ import com.android.internal.util.FrameworkStatsLog
import com.android.wm.shell.protolog.ShellProtoLogGroup
import com.android.wm.shell.util.KtProtoLog

/**
 * Event logger for logging desktop mode session events
 */
/** Event logger for logging desktop mode session events */
class DesktopModeEventLogger {
    /**
     * Logs the enter of desktop mode having session id [sessionId] and the reason [enterReason] for
@@ -32,13 +30,16 @@ class DesktopModeEventLogger {
        KtProtoLog.v(
            ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
            "DesktopModeLogger: Logging session enter, session: %s reason: %s",
            sessionId, enterReason.name
            sessionId,
            enterReason.name
        )
        FrameworkStatsLog.write(DESKTOP_MODE_ATOM_ID,
        FrameworkStatsLog.write(
            DESKTOP_MODE_ATOM_ID,
            /* event */ FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EVENT__ENTER,
            /* enterReason */ enterReason.reason,
            /* exitReason */ 0,
            /* session_id */ sessionId)
            /* session_id */ sessionId
        )
    }

    /**
@@ -49,13 +50,16 @@ class DesktopModeEventLogger {
        KtProtoLog.v(
            ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
            "DesktopModeLogger: Logging session exit, session: %s reason: %s",
            sessionId, exitReason.name
            sessionId,
            exitReason.name
        )
        FrameworkStatsLog.write(DESKTOP_MODE_ATOM_ID,
        FrameworkStatsLog.write(
            DESKTOP_MODE_ATOM_ID,
            /* event */ FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EVENT__EXIT,
            /* enterReason */ 0,
            /* exitReason */ exitReason.reason,
            /* session_id */ sessionId)
            /* session_id */ sessionId
        )
    }

    /**
@@ -66,9 +70,11 @@ class DesktopModeEventLogger {
        KtProtoLog.v(
            ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
            "DesktopModeLogger: Logging task added, session: %s taskId: %s",
            sessionId, taskUpdate.instanceId
            sessionId,
            taskUpdate.instanceId
        )
        FrameworkStatsLog.write(DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
        FrameworkStatsLog.write(
            DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
            /* task_event */
            FrameworkStatsLog.DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_ADDED,
            /* instance_id */
@@ -84,7 +90,8 @@ class DesktopModeEventLogger {
            /* task_y */
            taskUpdate.taskY,
            /* session_id */
            sessionId)
            sessionId
        )
    }

    /**
@@ -95,9 +102,11 @@ class DesktopModeEventLogger {
        KtProtoLog.v(
            ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
            "DesktopModeLogger: Logging task remove, session: %s taskId: %s",
            sessionId, taskUpdate.instanceId
            sessionId,
            taskUpdate.instanceId
        )
        FrameworkStatsLog.write(DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
        FrameworkStatsLog.write(
            DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
            /* task_event */
            FrameworkStatsLog.DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_REMOVED,
            /* instance_id */
@@ -113,7 +122,8 @@ class DesktopModeEventLogger {
            /* task_y */
            taskUpdate.taskY,
            /* session_id */
            sessionId)
            sessionId
        )
    }

    /**
@@ -124,9 +134,11 @@ class DesktopModeEventLogger {
        KtProtoLog.v(
            ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE,
            "DesktopModeLogger: Logging task info changed, session: %s taskId: %s",
            sessionId, taskUpdate.instanceId
            sessionId,
            taskUpdate.instanceId
        )
        FrameworkStatsLog.write(DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
        FrameworkStatsLog.write(
            DESKTOP_MODE_TASK_UPDATE_ATOM_ID,
            /* task_event */
            FrameworkStatsLog.DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_INFO_CHANGED,
            /* instance_id */
@@ -142,7 +154,8 @@ class DesktopModeEventLogger {
            /* task_y */
            taskUpdate.taskY,
            /* session_id */
            sessionId)
            sessionId
        )
    }

    companion object {
@@ -160,12 +173,8 @@ class DesktopModeEventLogger {
         * stats/atoms/desktopmode/desktopmode_extensions_atoms.proto
         */
        enum class EnterReason(val reason: Int) {
            UNKNOWN_ENTER(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__UNKNOWN_ENTER
            ),
            OVERVIEW(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__OVERVIEW
            ),
            UNKNOWN_ENTER(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__UNKNOWN_ENTER),
            OVERVIEW(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__OVERVIEW),
            APP_HANDLE_DRAG(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__APP_HANDLE_DRAG
            ),
@@ -178,9 +187,7 @@ class DesktopModeEventLogger {
            KEYBOARD_SHORTCUT_ENTER(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__KEYBOARD_SHORTCUT_ENTER
            ),
            SCREEN_ON(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__SCREEN_ON
            );
            SCREEN_ON(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__SCREEN_ON)
        }

        /**
@@ -188,12 +195,8 @@ class DesktopModeEventLogger {
         * stats/atoms/desktopmode/desktopmode_extensions_atoms.proto
         */
        enum class ExitReason(val reason: Int) {
            UNKNOWN_EXIT(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__UNKNOWN_EXIT
            ),
            DRAG_TO_EXIT(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__DRAG_TO_EXIT
            ),
            UNKNOWN_EXIT(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__UNKNOWN_EXIT),
            DRAG_TO_EXIT(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__DRAG_TO_EXIT),
            APP_HANDLE_MENU_BUTTON_EXIT(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__APP_HANDLE_MENU_BUTTON_EXIT
            ),
@@ -203,12 +206,8 @@ class DesktopModeEventLogger {
            RETURN_HOME_OR_OVERVIEW(
                FrameworkStatsLog.SPLITSCREEN_UICHANGED__EXIT_REASON__RETURN_HOME
            ),
            TASK_FINISHED(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__TASK_FINISHED
            ),
            SCREEN_OFF(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__SCREEN_OFF
            )
            TASK_FINISHED(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__TASK_FINISHED),
            SCREEN_OFF(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__SCREEN_OFF)
        }

        private const val DESKTOP_MODE_ATOM_ID = FrameworkStatsLog.DESKTOP_MODE_UI_CHANGED
+4 −3
Original line number Diff line number Diff line
@@ -60,8 +60,9 @@ class DesktopModeLoggerTransitionObserver(
    private val idSequence: InstanceIdSequence by lazy { InstanceIdSequence(Int.MAX_VALUE) }

    init {
        if (Transitions.ENABLE_SHELL_TRANSITIONS &&
            DesktopModeStatus.canEnterDesktopMode(context)) {
        if (
            Transitions.ENABLE_SHELL_TRANSITIONS && DesktopModeStatus.canEnterDesktopMode(context)
        ) {
            shellInit.addInitCallback(this::onInit, this)
        }
    }
+16 −16
Original line number Diff line number Diff line
@@ -20,9 +20,7 @@ import android.window.WindowContainerTransaction
import com.android.wm.shell.sysui.ShellCommandHandler
import java.io.PrintWriter

/**
 * Handles the shell commands for the DesktopTasksController.
 */
/** Handles the shell commands for the DesktopTasksController. */
class DesktopModeShellCommandHandler(private val controller: DesktopTasksController) :
    ShellCommandHandler.ShellCommandActionHandler {

@@ -58,7 +56,8 @@ class DesktopModeShellCommandHandler(private val controller: DesktopTasksControl
            return false
        }

        val taskId = try {
        val taskId =
            try {
                args[1].toInt()
            } catch (e: NumberFormatException) {
                pw.println("Error: task id should be an integer")
@@ -75,7 +74,8 @@ class DesktopModeShellCommandHandler(private val controller: DesktopTasksControl
            return false
        }

        val taskId = try {
        val taskId =
            try {
                args[1].toInt()
            } catch (e: NumberFormatException) {
                pw.println("Error: task id should be an integer")
+48 −77
Original line number Diff line number Diff line
@@ -29,13 +29,10 @@ import androidx.core.util.valueIterator
import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE
import com.android.wm.shell.util.KtProtoLog
import java.io.PrintWriter
import java.util.ArrayList;
import java.util.concurrent.Executor
import java.util.function.Consumer

/**
 * Keeps track of task data related to desktop mode.
 */
/** Keeps track of task data related to desktop mode. */
class DesktopModeTaskRepository {

    /** Task data that is tracked per display */
@@ -85,13 +82,8 @@ class DesktopModeTaskRepository {
        activeTasksListeners.add(activeTasksListener)
    }

    /**
     * Add a [VisibleTasksListener] to be notified when freeform tasks are visible or not.
     */
    fun addVisibleTasksListener(
        visibleTasksListener: VisibleTasksListener,
        executor: Executor
    ) {
    /** Add a [VisibleTasksListener] to be notified when freeform tasks are visible or not. */
    fun addVisibleTasksListener(visibleTasksListener: VisibleTasksListener, executor: Executor) {
        visibleTasksListeners[visibleTasksListener] = executor
        displayData.keyIterator().forEach { displayId ->
            val visibleTasksCount = getVisibleTaskCount(displayId)
@@ -113,9 +105,7 @@ class DesktopModeTaskRepository {
        }
    }

    /**
     * Create a new merged region representative of all exclusion regions in all desktop tasks.
     */
    /** Create a new merged region representative of all exclusion regions in all desktop tasks. */
    private fun calculateDesktopExclusionRegion(): Region {
        val desktopExclusionRegion = Region()
        desktopExclusionRegions.valueIterator().forEach { taskExclusionRegion ->
@@ -124,16 +114,12 @@ class DesktopModeTaskRepository {
        return desktopExclusionRegion
    }

    /**
     * Remove a previously registered [ActiveTasksListener]
     */
    /** Remove a previously registered [ActiveTasksListener] */
    fun removeActiveTasksListener(activeTasksListener: ActiveTasksListener) {
        activeTasksListeners.remove(activeTasksListener)
    }

    /**
     * Remove a previously registered [VisibleTasksListener]
     */
    /** Remove a previously registered [VisibleTasksListener] */
    fun removeVisibleTasksListener(visibleTasksListener: VisibleTasksListener) {
        visibleTasksListeners.remove(visibleTasksListener)
    }
@@ -183,18 +169,14 @@ class DesktopModeTaskRepository {
        return result
    }

    /**
     * Check if a task with the given [taskId] was marked as an active task
     */
    /** Check if a task with the given [taskId] was marked as an active task */
    fun isActiveTask(taskId: Int): Boolean {
        return displayData.valueIterator().asSequence().any { data ->
            data.activeTasks.contains(taskId)
        }
    }

    /**
     * Whether a task is visible.
     */
    /** Whether a task is visible. */
    fun isVisibleTask(taskId: Int): Boolean {
        return displayData.valueIterator().asSequence().any { data ->
            data.visibleTasks.contains(taskId)
@@ -208,18 +190,14 @@ class DesktopModeTaskRepository {
        }
    }

    /**
     *  Check if a task with the given [taskId] is the only active task on its display
     */
    /** Check if a task with the given [taskId] is the only active task on its display */
    fun isOnlyActiveTask(taskId: Int): Boolean {
        return displayData.valueIterator().asSequence().any { data ->
            data.activeTasks.singleOrNull() == taskId
        }
    }

    /**
     * Get a set of the active tasks for given [displayId]
     */
    /** Get a set of the active tasks for given [displayId] */
    fun getActiveTasks(displayId: Int): ArraySet<Int> {
        return ArraySet(displayData[displayId]?.activeTasks)
    }
@@ -243,9 +221,7 @@ class DesktopModeTaskRepository {
            .sortedBy { taskId -> allTasksInZOrder.indexOf(taskId) }
    }

    /**
     * Get a list of freeform tasks, ordered from top-bottom (top at index 0).
     */
    /** Get a list of freeform tasks, ordered from top-bottom (top at index 0). */
    fun getFreeformTasksInZOrder(displayId: Int): ArrayList<Int> =
        ArrayList(displayData[displayId]?.freeformTasksInZOrder ?: emptyList())

@@ -261,8 +237,10 @@ class DesktopModeTaskRepository {
            val otherDisplays = displayData.keyIterator().asSequence().filter { it != displayId }
            for (otherDisplayId in otherDisplays) {
                if (displayData[otherDisplayId].visibleTasks.remove(taskId)) {
                    notifyVisibleTaskListeners(otherDisplayId,
                        displayData[otherDisplayId].visibleTasks.size)
                    notifyVisibleTaskListeners(
                        otherDisplayId,
                        displayData[otherDisplayId].visibleTasks.size
                    )
                }
            }
        } else if (displayId == INVALID_DISPLAY) {
@@ -309,9 +287,7 @@ class DesktopModeTaskRepository {
        }
    }

    /**
     * Get number of tasks that are marked as visible on given [displayId]
     */
    /** Get number of tasks that are marked as visible on given [displayId] */
    fun getVisibleTaskCount(displayId: Int): Int {
        KtProtoLog.d(
            WM_SHELL_DESKTOP_MODE,
@@ -321,16 +297,15 @@ class DesktopModeTaskRepository {
        return displayData[displayId]?.visibleTasks?.size ?: 0
    }

    /**
     * Add (or move if it already exists) the task to the top of the ordered list.
     */
    /** Add (or move if it already exists) the task to the top of the ordered list. */
    // TODO(b/342417921): Identify if there is additional checks needed to move tasks for
    // multi-display scenarios.
    fun addOrMoveFreeformTaskToTop(displayId: Int, taskId: Int) {
        KtProtoLog.d(
            WM_SHELL_DESKTOP_MODE,
            "DesktopTaskRepo: add or move task to top: display=%d, taskId=%d",
            displayId, taskId
            displayId,
            taskId
        )
        displayData[displayId]?.freeformTasksInZOrder?.remove(taskId)
        displayData.getOrCreate(displayId).freeformTasksInZOrder.add(0, taskId)
@@ -341,7 +316,9 @@ class DesktopModeTaskRepository {
        KtProtoLog.v(
            WM_SHELL_DESKTOP_MODE,
            "DesktopModeTaskRepository: minimize Task: display=%d, task=%d",
                displayId, taskId)
            displayId,
            taskId
        )
        displayData.getOrCreate(displayId).minimizedTasks.add(taskId)
    }

@@ -350,18 +327,19 @@ class DesktopModeTaskRepository {
        KtProtoLog.v(
            WM_SHELL_DESKTOP_MODE,
            "DesktopModeTaskRepository: unminimize Task: display=%d, task=%d",
                displayId, taskId)
            displayId,
            taskId
        )
        displayData[displayId]?.minimizedTasks?.remove(taskId)
    }

    /**
     * Remove the task from the ordered list.
     */
    /** Remove the task from the ordered list. */
    fun removeFreeformTask(displayId: Int, taskId: Int) {
        KtProtoLog.d(
            WM_SHELL_DESKTOP_MODE,
            "DesktopTaskRepo: remove freeform task from ordered list: display=%d, taskId=%d",
            displayId, taskId
            displayId,
            taskId
        )
        displayData[displayId]?.freeformTasksInZOrder?.remove(taskId)
        boundsBeforeMaximizeByTaskId.remove(taskId)
@@ -374,8 +352,7 @@ class DesktopModeTaskRepository {

    /**
     * Updates the active desktop gesture exclusion regions; if desktopExclusionRegions has been
     * accepted by desktopGestureExclusionListener, it will be updated in the
     * appropriate classes.
     * accepted by desktopGestureExclusionListener, it will be updated in the appropriate classes.
     */
    fun updateTaskExclusionRegions(taskId: Int, taskExclusionRegions: Region) {
        desktopExclusionRegions.put(taskId, taskExclusionRegions)
@@ -385,9 +362,9 @@ class DesktopModeTaskRepository {
    }

    /**
     * Removes the desktop gesture exclusion region for the specified task; if exclusionRegion
     * has been accepted by desktopGestureExclusionListener, it will be updated in the
     * appropriate classes.
     * Removes the desktop gesture exclusion region for the specified task; if exclusionRegion has
     * been accepted by desktopGestureExclusionListener, it will be updated in the appropriate
     * classes.
     */
    fun removeExclusionRegion(taskId: Int) {
        desktopExclusionRegions.delete(taskId)
@@ -396,16 +373,12 @@ class DesktopModeTaskRepository {
        }
    }

    /**
     * Removes and returns the bounds saved before maximizing the given task.
     */
    /** Removes and returns the bounds saved before maximizing the given task. */
    fun removeBoundsBeforeMaximize(taskId: Int): Rect? {
        return boundsBeforeMaximizeByTaskId.removeReturnOld(taskId)
    }

    /**
     * Saves the bounds of the given task before maximizing.
     */
    /** Saves the bounds of the given task before maximizing. */
    fun saveBoundsBeforeMaximize(taskId: Int, bounds: Rect) {
        boundsBeforeMaximizeByTaskId.set(taskId, Rect(bounds))
    }
@@ -424,7 +397,9 @@ class DesktopModeTaskRepository {
            pw.println("${prefix}Display $displayId:")
            pw.println("${innerPrefix}activeTasks=${data.activeTasks.toDumpString()}")
            pw.println("${innerPrefix}visibleTasks=${data.visibleTasks.toDumpString()}")
            pw.println("${innerPrefix}freeformTasksInZOrder=${data.freeformTasksInZOrder.toDumpString()}")
            pw.println(
                "${innerPrefix}freeformTasksInZOrder=${data.freeformTasksInZOrder.toDumpString()}"
            )
        }
    }

@@ -432,9 +407,7 @@ class DesktopModeTaskRepository {
     * Defines interface for classes that can listen to changes for active tasks in desktop mode.
     */
    interface ActiveTasksListener {
        /**
         * Called when the active tasks change in desktop mode.
         */
        /** Called when the active tasks change in desktop mode. */
        fun onActiveTasksChanged(displayId: Int) {}
    }

@@ -442,9 +415,7 @@ class DesktopModeTaskRepository {
     * Defines interface for classes that can listen to changes for visible tasks in desktop mode.
     */
    interface VisibleTasksListener {
        /**
         * Called when the desktop changes the number of visible freeform tasks.
         */
        /** Called when the desktop changes the number of visible freeform tasks. */
        fun onTasksVisibilityChanged(displayId: Int, visibleTasksCount: Int) {}
    }
}
+8 −15
Original line number Diff line number Diff line
@@ -24,11 +24,11 @@ import com.android.internal.logging.UiEventLogger
import com.android.wm.shell.dagger.WMSingleton
import javax.inject.Inject

/**
 * Log Aster UIEvents for desktop windowing mode.
 */
/** Log Aster UIEvents for desktop windowing mode. */
@WMSingleton
class DesktopModeUiEventLogger @Inject constructor(
class DesktopModeUiEventLogger
@Inject
constructor(
    private val mUiEventLogger: UiEventLogger,
    private val mInstanceIdSequence: InstanceIdSequence
) {
@@ -47,9 +47,7 @@ class DesktopModeUiEventLogger @Inject constructor(
        mUiEventLogger.log(event, uid, packageName)
    }

    /**
     * Retrieves a new instance id for a new interaction.
     */
    /** Retrieves a new instance id for a new interaction. */
    fun getNewInstanceId(): InstanceId = mInstanceIdSequence.newInstanceId()

    /**
@@ -75,20 +73,15 @@ class DesktopModeUiEventLogger @Inject constructor(
    }

    companion object {
        /**
         * Enums for logging desktop windowing mode UiEvents.
         */
        /** Enums for logging desktop windowing mode UiEvents. */
        enum class DesktopUiEventEnum(private val mId: Int) : UiEventLogger.UiEventEnum {

            @UiEvent(doc = "Resize the window in desktop windowing mode by dragging the edge")
            DESKTOP_WINDOW_EDGE_DRAG_RESIZE(1721),

            @UiEvent(doc = "Resize the window in desktop windowing mode by dragging the corner")
            DESKTOP_WINDOW_CORNER_DRAG_RESIZE(1722),

            @UiEvent(doc = "Tap on the window header maximize button in desktop windowing mode")
            DESKTOP_WINDOW_MAXIMIZE_BUTTON_TAP(1723),

            @UiEvent(doc = "Double tap on window header to maximize it in desktop windowing mode")
            DESKTOP_WINDOW_HEADER_DOUBLE_TAP_TO_MAXIMIZE(1724);

Loading