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

Commit 10a25670 authored by Jorge Gil's avatar Jorge Gil
Browse files

Desks: Do not assume a desk exists when checking for tiled tasks

DesktopRepository#getLeftTiledTask and #getRightTiledTask are invoked
whenever a window decoration is created, even if the decor is for a
fullscreen task and the device has never entered desktop windowing.
This removes the assumption that a desk will exist in the repository, as
that is not always the case, such as in touch-first displays.

Flag: com.android.window.flags.enable_multiple_desktops_backend
Fix: 410047482
Test: atest ActivityLifecycleTopResumedStateTests
Change-Id: I18587240d41f7c0c916ca3cafa3d2afbc6fa973f
parent fbd99f24
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -348,25 +348,13 @@ class DesktopRepository(
    /** Gets a registered left tiled task to desktop state or returns null. */
    fun getLeftTiledTask(displayId: Int): Int? {
        logD("getLeftTiledTask for displayId=%d", displayId)
        val activeDesk =
            checkNotNull(desktopData.getDefaultDesk(displayId)) {
                "Expected desk in display: $displayId"
            }
        val deskId = activeDesk.deskId
        val desk = checkNotNull(desktopData.getDesk(deskId)) { "Did not find desk: $deskId" }
        return desk.leftTiledTaskId
        return desktopData.getActiveDesk(displayId)?.leftTiledTaskId
    }

    /** gets a registered right tiled task to desktop state or returns null. */
    fun getRightTiledTask(displayId: Int): Int? {
        logD("getRightTiledTask for displayId=%d", displayId)
        val activeDesk =
            checkNotNull(desktopData.getDefaultDesk(displayId)) {
                "Expected desk in display: $displayId"
            }
        val deskId = activeDesk.deskId
        val desk = checkNotNull(desktopData.getDesk(deskId)) { "Did not find desk: $deskId" }
        return desk.rightTiledTaskId
        return desktopData.getActiveDesk(displayId)?.rightTiledTaskId
    }

    /* Unregisters a left tiled task from desktop state. */