This patch makes it so that the transient Taskbar cannot unstash when in 3P launcher.
Previously, the user was able to unstash Taskbar when in 3P launcher, causing a janky-looking UI (3P launchers may implement their own version of Taskbar on the home screen. This also caused problems with certain Taskbar commands like split screen, which provide an entry portal to Pixel-specific implementations.
Fixed by forcing the Taskbar to stay stashed when a 3P Launcher is displayed. The Taskbar is still usable inside of other non-launcher apps. This was done by using TopTaskTracker to check for ACTIVITY_TYPE_HOME or ACTIVITY_TYPE_RECENTS, and disabling Taskbar when these activities are running.
Fixes: 277963491
Test: Manual
Change-Id: Ifc0f3c07e3b76eb610f93205978fbc596bab6253
Adds a method to call into WMShell to set the listener and
indicate when a bubble is shown or when the expanded state
changes.
BubbleBarController sets or clears out the listener.
BubbleBarViewController calls SystemUiProxy when bubbles are shown
or when the expanded state changes.
Bug: 253318833
Test: manual, with other CLs, see go/bubble-bar-tests
Flag: WM_BUBBLE_BAR
Change-Id: I2364b9bbdea237fc268b0999d9c896585c194a86
- Wait for the shell drop target to be made visible and drawn before
attempting to continue with the drag gesture
Bug: 234653212
Test: atest NexusLauncherTests
Change-Id: Ida851343873b51288460f25bba062f29019005d4
Fixes: 270211015
Test: 3-finger swipe down to bring down notifications. 3-finger swipe up to go home / to Overview
Change-Id: Id0f8ad95d9a4a1f8ecf1632ea28efb0c790c291b
* Update code behind flag to work with transient taskbar
* We explicitly set the mDestroyed flag to false in
TaskbarActivityContext because it gets set to true when
the flag is on, but nothing resets it unless it gets
recreated normally.
Bug: 274517647
Flag: persist.wm.debug.hide_navbar_window
Test: Enable flag and verify no crash
Change-Id: I9a149ffb47a10efedfc9dff8399d12d4c1a31553
Fixes: 276605497
Test: 3-finger swipe down to pull down notifications. 3-finger swipe up to pull up overview
Change-Id: I4c1e0df15a94905fa197849f5667a5446c259ffe
flag: ENABLE_INPUT_CONSUMER_REASON_LOGGING
Fixes: 270390028
Test: ran launcher and printed gesture nav logs
Change-Id: I0fd0b82c1c812ddc43beba03bd456795f68ada55
This allows apps like the Launcher to write ViewCapture data to the
wmtrace directory so it can be shown in their UI. Normally, Launcher
doesn't have the correct file permissions. Also, Launcher's dump method
is called after the wmtrace dir is written to the bug report, so we need
to dump sooner via a callback method invoked inside WindowManager.
Bug: 224595733
Test: Latency tested this change and verified that a bugreport generated
the file properly, moved it to the wmtrace directory, and was picked up
properly by the go/web-hv tool.
Change-Id: I5091208c618cb43e1b65adb8e78bfcddc92e79bf
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
During setup, default home progresses setup -> null -> launcher, which
can lead us to unintentionally preload the fallback overview.
Fix: 258022658
Test: Manual
Change-Id: I952b7923b06f2d4b058f42834d1f840719c73fd0
This change includes migrating data required for starting the launcher
from encrypted storage into device protected storage. All of the data
being moved has already been approved by the correct authorities.
Bug: 251502424
Test: Performed latency testing using logs from user unlock until first
workspace screen loaded.
Change-Id: I58b0cd1c7bad260c2252f9e172ef85ab885c7fe9
> This provides better control over proguarding descriptions
> Enforcing bug number in flag creation
Bug: 270386012
Test: Presubmit and verified on device
Change-Id: I31014e397690379024d2e42c0e913ce806b9569c
Merged-In: I31014e397690379024d2e42c0e913ce806b9569c
> This provides better control over proguarding descriptions
> Enforcing bug number in flag creation
Bug: 270386012
Test: Presubmit and verified on device
Change-Id: I31014e397690379024d2e42c0e913ce806b9569c
trackpad
The gesture library is ported and enabled, thus we are updating our
check for motion events on trackpad.
Bug: 254783214
Test: Swipe up and hold to go to overview; swipe up to go home
Change-Id: I4b74e88c7f8b6ef86c779391b0f8064ea828ed8f
Preparatory change for adding the KeyboardQuickSwitchView and associated flows.
Test: Manually tested alt-tab and alt-shift-tab in and out of overview on a tablet and phone
Bug: 258854035
Change-Id: I468481a023e82d3ef7c7d4d44c5b9435173b49ae
Before this cl, both Launcher and System UI processes were registering for hinge angle and device state (e.g. folded/unfolded) change events to calculate the current unfold animation progress. In some cases, launcher ui thread was busy, delaying the progress calculation from the hinge angle value (that was received ~at the same time by both processes). This resulted in launcher and sysui unfold animation not being synchronized in some cases.
With this cl, System UI process uses OverviewProxyService to send the unfold events to Launcher. In this way, both process always have the exact same progress (+- 1 frame)
This is currently guarded by a launcher flag, by default with the new behaviour, to allow devs to compare the experience and easily debug potential regressions.
Bug: 268490854
Test: Analysed perfetto trace + RemoteUnfoldTransitionProgressProviderTest + manual
Change-Id: If15fd6fe39abb3d922c5fdb327100206dfa3665d
Rather than use a feature flag for this feature, the on/off state will
be stored as a system setting and will be changed via a QuickSettings
tile.
Bug: b/264452057
Test: Verified that the new QuickSettings tile doesn't crash via normal
interactions (pressing, long-pressing, etc.). Also verified that
ViewCapture is turned on when the QuickSettings tile is in the enabled
state and is turned off when it is in the disabled state.
Change-Id: I90551511ac2766dc30c51a25aec2c96e3e552ce9
Bug: 261815244
Test: make sure (1) if user starts by swiping up, disable quickswitch (they will land either in overview, home, or the current app) (2) if user starts by quick switching, cancel the gesture
Change-Id: I6b59cec0089d5e6f22eee3241c6336345dd15dce
Revert submission 20956764-alt_tab_forward
Reason for revert: Actually we dont need these changes after all. SHIFT doesn't matter in the initial tab to overview. The subsequent tabs are handled by RecentsView and we already have a check on shift
Reverted changes: /q/submissionid:20956764-alt_tab_forward
Change-Id: I42b03d10f30ef137c98005bb46e23f8516720236