* With the change made in ag/31615582, we assumed
that top level + stage level split roots would always be
included in the transition, that isn't the case when an app pair
is already showing and then we switch to another app pair (stage
roots aren't included since they aren't modified in that scenario)
* Now shell sends the entire tree. Also modified SplitScreenUtils
to consider TRANSIT_CHANGE changes as well for the scenario where
one app of an app pair is already full screen and then we launch an
app pair which has that same app, the stage root there undergoes a change
and not a open/close transition.
* One KI is that the animation doesn't fully work when launching a second
app pair from taskbar when split is already showing (though it is an
improvement from current behavior/animation). This is because when the second
app pair launches, the tasks' snapshot windows/leashes are passed back as
leafs, however these snapshots have not been parented to be under the stage roots.
So both snapshots are positioned at 0, 0 causing overlap. Will fix that in
a followup
Bug: 399037701
Test: Open app pairs from desktop windowing + normal taskbar
Flag: EXEMPT bugfix
Change-Id: I83adffd16fea98b8e877dfbe1ba1ef4a3d08fcb9
Taskbar stashes once an app is launched from taskbar, or remains stashed if you launch something from All Apps. The layout transitions therefore are unlikely to be seen by the user. Disabling them means when the user unstashes, they will see the end result of the transition immediately. The problem with them being enabled for transient taskbar is we set icon alpha to 0 if Taskbar is stashed, which conflicts with the alpha layout transition animation.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Fix: 406809935
Test: Manual
Change-Id: Ibcfc04e5c9af104725a69c8cceccef49544d7bd3
Flag: EXEMPT bugfix
Fixes: 406689798
Test: none (we can add one once we add TaskbarInsetsControllerTest)
Change-Id: I0bba8f39104b7b6d6dbbc4029981fea2988dae50
Flag: com.android.launcher3.enable_launcher_overview_in_window
Test: Built locally, no crash
Bug: None/Exempt found and fixed
Change-Id: Ia712c298ae498f34b8bf243d2e754db8339648f1
Update the flag condition to load the app chip when the TTV flag is off via `onIconLoaded`. It uses the `TaskViewModel` when TTV flag is on.
Fix: 407947426
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual. Disable com.android.launcher3.enable_refactor_task_thumbnail.
Change-Id: Ia240f614d1c18f2c32227ee06e82a3fb6b1e080d
- When ClearAllButton is removed, lastTaskScroll calculation (which is baserd on clearAllScroll) no longer works, and causes TaskView to snap to wrong position when there are < 5 tasks
- Also avoid showing empty Recents when rotating in split select without any TaskViews
Fix: 407462546
Test: manaul
Flag: EXEMPT bug fix
Change-Id: I4ffd3c43046ab3e11adc2e58b21b4256c4445757
This cl includes: adding support to stash controller to get device locked state. Use different taskbar offset before and after lock screen.
Test: Manual
Bug: 407589216
Flag: EXEMPT bugfix
Change-Id: I55b27d39049458c741efc9bec365cdbc27d4e012
We were applying blur to blur surface irrespective of whether live tile
is below or above recents. This was causing overhead of native calls due
to additional reparenting and relayering. These calls are expensive and
probably responsible for jank.
Now we will apply blur behind base layer when live tile above recents
and swap surface to leash when below recents.
Bug: 404647629
Test: Manual. Launcher home -> all apps.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: Ia01e65253b3062ed2b597977bfd37a44d674e444
The windowing exemptions logic is used for both exempting apps from
opening in desktop but also hiding the entry point so apps cannot be
moved into desktop. However, disabling desktop entry points is not
constrained by the same security restrictions as exempting apps from
opening as freeform in desktop. Instead we should have a separate
heuristic for disabling entry points and forcing to fullscreen.
Flag: EXEMPT Refactoring
Fixes: 407704088
Test: atest NexusLauncherTests:com.android.quickstep.ExternalDisplaySystemShortcutTest.kt,
atest NexusLauncherTests:com.android.quickstep.DisplaySystemShortcutTest.kt
Change-Id: I268566072ca5fba090d05f0202468d086c41a66d
- TaplTestsQuickstep.testDismissModalTaskAndOverviewWithEscKey was failing because RecentsWindowManager didn't dispatch key events at all.
- Also moving all LauncherRootView setup to a one-time execution
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 368610710
Bug: 377678992
Test: TaplTestsQuickstep.testDismissModalTaskAndOverviewWithEscKey
Change-Id: I9d8e0c91a549ed08398b2c89b1e4d23561f95c62
This means that the VMs are created on the bg threads in the ViewPool setup stage rather than at critical points in CUJs.
Bug: 395294954
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking perfetto traces
Change-Id: I3aab5271d552e5f292533617a6842a046cb43bf1
Increases the minimum ratio for showing both icon menus from 0.2 to 0.25. Needed because certain layouts were exceeding the previous breakpoint (at around 0.22) and causing the icon menu to appear in a too-small space.
Fixes: 404545073
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: Manual
Change-Id: I87b93994fb37a9b82e58749792c519aaae541d0d
If desktop mode change also contains change in the pinning state,
recreate taskbar even if home screen always shows locked taskbar.
Without this, exiting desktop mode with transient taskbar to home with
"locked", i.e. pinned taskbar leaves taskbar in a broken state
(transient taskbar layout, with no background).
Bug: 406575227
Test: On desktop device, untoggle "Always show taskbar" in desktop mode.
When in desktop mode, click/tap the stashed taskbar handle to go
home. Verify that a proper pinned taskbar is drawn on home.
Flag: EXEMPT bugfix
Change-Id: I818d22e1bdd8258bbfe79ee67c04b61508b829d5
Simple view is meant to provide an easier setup experience and this
means that the back button must be visible in SUW, even if the new
design choice is applied. This change adds a caveat to enable the back
button for this situation.
Fix: 396559615
Test: Enable/Disable simple view with the new theme applied and observe
the back button appear/disappear
Flag: EXEMPT bugfix
Change-Id: Ic58b5d87b2d0670c468222098a53293ae27b0206
TaskbarManager.setActivity doesn't get called again when TISBinder.refreshOverviewTarget is called because TIS isn't re-connecting to launcher. TISBinder.refreshOverviewTarget just forcefully updated the overview target, but TIS was still connected. So, QuickstepLauncher.onTISConnected wouldn't run again to call TaskbarMAnager.setActivity(this). Calling it manually to fix failing TaplTestsNexus tests with recents in window flags enabled
Flag: com.android.launcher3.enable_launcher_overview_in_window
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_overview_on_connected_displays
Bug: 377678992
Test: TaplTestsNexus.testDismissWithKeyboardShortcut and TaplTestsNexus.testSearchWithKeyboardShortcut
Change-Id: Ib386c3b8cfc5a9167f7f219dba0cccec344446b6
Theme icons are generated and stored in cache, but only loaded if requested in lookup flags
This allows to keep the memory usage low, but not loading theme icons for all the apps
Bug: 381897614
Flag: com.android.launcher3.extendible_theme_manager
Test: Updated tests
Change-Id: I494eab9c4f70670e6f5aeb864ed5287f6b9f1b9e