Directly use launcher activity interface
When desktop tasks become visible or hidden, we update a SysUI state flag. This flag update gets processed in TouchInteractionService which then calls DesktopVisibilityController to update launcher state based on whether desktop tasks are visible or not. We were getting a reference to the DesktopVisibilityController through OverviewComponentObserver. This was causing issues when device was unlocked with desktop tasks visible. And 3-button navigation was enabled. In this scenario, we are immediately processing a SysUI flags update that desktop tasks are visible again (they are hidden while device is locked). When this update is processed, OverviewComponentObserver returns the fallback launcher interface. And not the nexus launcher. The fallback launcher interface does not contain the DesktopVisibilityController. Since the fallback controller does not return the visiblity controller, we skipped processing the update that desktop tasks are visible. Which resulted in launcher remaining in a bad state with home screen icons visible and desktop tasks on top. Bug: 273594452 Test: enable 3-button nav and proto 2, move an app to desktop, lock screen with desktop app visible, unlock screen, observe launcher icons hidden Test: enable gesture nav and proto 2, move and app to desktop and lock screen with desktop app visible, unlock and observe launcher icons hidden Test: repeat the same steps with proto 1 enabled Change-Id: Id52ac4cf2df151b2aee2070ee2eb14de3d74fead
Loading
Please register or sign in to comment