5207024240
Fixes two issues:
1. TaskbarRecentAppsController was reflecting tasks from the first
DesktopTasks it found in the RecentsModel - this does not work in
multi-display environemnt where each display may have a separate
DesktopTask. The CL updates the logic to gather tasks from all
available DesktopTasks.
2. RecentsModel supported a single recent apps changed listener. In
multi-display, each display has its own taskbar, and thus its own
TaskbarRecentAppsController, each of which needs to listen for
RecentsModel changes. This meant that second taskbar that registered
a listener was clearing out the listener set by the first taskbar.
Bug: 406183146
Flag: com.android.window.flags.enable_taskbar_connected_displays
Test: On multidisplay, open apps on different displays. Taskbar reflects
all running desktop tasks regardless of the display on which
they're open.
Change-Id: I1dd750e5bcd58d8d90b7b859053e2616c7d18441