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
- As part of b/405384582's investigation I discovered that when changing navigation mode with 3P Launcher, DeviceProfile.isGestureMode didn't get update when switching between gesture and 3 button
- This is because unlike Launcher activity, RecentsActivity doens't listen for IDP changes and update its DeviceProfile accordingly, adding the listener solved the problem
- This also makes b/405384582 no longer reproducible for 3 button mode
Bug: 405384582
Test: Switch navigation mode with 3P launcher
Flag: EXEMPT bugfix
Change-Id: I85b57f5c85d7356517d04e601b705ec0cade2d96
Instead of incrementing and decrementing the zIndex, we set a fix value: elevation + constant. And we reset the value back to the initial elevation. This avoids the elevation becoming negative when tapping on the chip multiple times.
Fix: 407505697
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Test: Manual. Tap multiple times on the App chip.
Change-Id: Icb1b5df1674131416ec6722adb8f2c2563d81f18
This reverts commit 62ad6217ac.
Reason for revert: we need the original fix
Fix: 405836159
Fix: 406159877
Fix: 406157493
Test: Manual (swipe home and immediately to all apps)
Test: atest FlickerTestsIme:com.android.server.wm.flicker.ime.CloseImeOnGoHomeTest#cujCompleted[ROTATION_0_3_BUTTON_NAV] -- --abi arm64-v8a
Flag: EXEMPT bugfix
Change-Id: Ibc58cbef929422ee23d452f0db40b082debce3a4
I had previously hidden workspace with All Apps blur because the
approaches I had tried looked poor. However, I found that this
approach is both simple and relatively performant! Essentially,
wallpaper is still pushed back and blurred by the DepthController.
When the DepthController applies blur, we also apply it to the
Workspace and Hotseat. In addition, we scale these at the same
rate as the depth when swiping to all apps. Perhaps we can have
the DepthController control this scale too, but for now we just
use the same Interpolator. The result looks pretty cohesive.
Demo: https://drive.google.com/file/d/1KyKc0c5BsAEOrT3K4buOW3U9-Gk0e7vE/view?usp=sharing&resourcekey=0-MI1gdQMul0cro9IEkQDEng
App exit demo (slightly outdated): https://drive.google.com/file/d/1r-VhzGhlI0300_6IUXthty3Tm1cgw9aI/view?usp=sharing&resourcekey=0-nxZ2BHW2UN34lr567I0RdA
Bug: 400827727
Bug: 371343636
Test: Manual
Flag: com.android.launcher3.all_apps_blur
Change-Id: I5dc66619a001ccd32f37272cf77966cbe1bf8ef6
There is extra work needed from the Wallpaper picker side to support
showing the FixedLandscape view on the Launcher. They are already
working on it but in the meantime we will disable the preview and show
the portrait view instead.
Fix: 402353157
Test: NA
Flag: com.android.launcher3.one_grid_specs
Change-Id: I12942a8f4edb7eff537d8431880cfe108e161ed2