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

Commit 56658287 authored by Jorge Gil's avatar Jorge Gil
Browse files

Desks: Check desk exists before attempting to remove it

Sanitize desk-remove requests from Launcher to avoid a SysUI crash if an
unknown desk id is supplied.

Flag: com.android.window.flags.enable_multiple_desktops_backend
Bug: 415401023
Test: atest WMShellUnitTests
Change-Id: Iaf5e87fe9bc460c8a71a02fbdff35af57712b763
parent ffc99ac9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3911,6 +3911,10 @@ class DesktopTasksController(

    /** Removes the given desk. */
    fun removeDesk(deskId: Int, desktopRepository: DesktopRepository = taskRepository) {
        if (!desktopRepository.getAllDeskIds().contains(deskId)) {
            logW("Request to remove desk=%d but desk not found for user=%d", deskId, userId)
            return
        }
        val displayId = desktopRepository.getDisplayForDesk(deskId)
        removeDesk(displayId = displayId, deskId = deskId, desktopRepository = desktopRepository)
    }