We should also avoid using non-static inner class that extends IOnBackInvokedCallback.Stub and IRemoteAnimationRunner.Stub inside LauncherBackAnimationController, which references the entire LauncherBackAnimationController object.
1. When launcher is created, a Runnable is posted to ShellExecutor to call BackAnimationController#registerAnimation
2. When launcher is later destroyed, another Runnable is posted to same ShellExecturo to call BackAnimationController#unregisterAnimation
3. If the execturo queued the 1st runnable, then we have leaked LauncherBackAnimationController object, including Launcher activity.
This CL fixes the leak by making the Stub static inner classes, and use weak reference hold reference to launcher activity.
Bug: 297806573
Test: Grab a heap dump and this reference no longer exist
Flag: N/A
Change-Id: I78853e900a98399b02682ba2d9179e544a4030d5
Gesture library has a threshold for 3-finger swipes, and if it's recoginized as one, it only reports movement in one axis. There is no point waiting for it to pass the initial threshold, unlike gestures on the screen.
Bug: 291771975
Test: swipe up slowly, observe the smoothness of the gesture nav animation.
Change-Id: I0904efb1d5cd26f6566da46279d0153e19a9618c
When FEATURE_PC is enabled on a device,
DesktopNavbarButtonsViewController is instantiated. Previously,
DesktopNavbarButtonsViewController saves an internal copy of
mControllers and the mControllers field in NavbarButtonsViewController
is left unset. This was not a problem because mControllers in
NavbarButtonsViewController was not used in any code that was not
overridden by DesktopNavbarButtonsViewController.
ag/17944073 added some code that accesses mControllers in
NavbarButtonsViewController. Even though the code would be skipped for
FEATURE_PC devices (due to the TaskbarUIController check, which is
overridden by DesktopTaskbarUIController) in the end, it still caused an
NPE.
DesktopNavbarButtonsViewController does not require most of the button
updates done in NavbarButtonsViewController. Regardless, this CL
provides a workaround to avoid the NPE by setting mControllers in
NavbarButtonsViewController in FEATURE_PC devices.
Bug: 296623609
Bug: 297260211
Test: Manual; build and launch sdk_gpc emulator. Ensure that no crash
occurs
Change-Id: Ica22359b96fd0a277c575a238abb194d762e81ea
* Currently this exits the current launcher state
back to homescreen whenever back is performed while
split selection is active.
* Open UX question if that needs to be changed.
Test: Did back gesture from workspace, overview, all apps
http://recall/-/cMb5xTTxhmZtFt04eYnmQj/g0kpGTsqlj0RSt4OfDBkpf
Bug: 295449659
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Change-Id: I74fe51aaf4301fb723d2e69e6b1b39d127f492d8
AssistUtils#getSysUiAssistOverrideInvocationTypes(): Sent
over SysUiProxy to request overriding these invocation types.
AssistUtils#tryStartAssistOverride(): Called by OverviewProxy
(TouchInteractionService) for previously requested overrides.
Also used within Launcher for Taskbar and QSB to override
other invocation logic. May return false to indicate that
the override was not handled, so a fallback may be desired.
Bug: 295874732
Test: Manual
Change-Id: I488f3b7da1feb2663feab5d04dfa8d605c070efb
When the bubble bar is collapsed we now show at most 2 bubbles.
Fixes: 295020145
Test: Manual
- Add 1 bubble to the bubble bar
- Collapse bubble bar
-- Observe that only that bubble is visible
- Expand the bubble bar
-- Observe that both that bubble and the overflow are visible
- Add another bubble
-- Observe that 2 bubbles are visible when collapsed
- Add another bubble
-- Observe that only the first 2 bubbles are visible when collapsed
Change-Id: I5f534f53eefe9a920b8b3258813d67d021c5f2a8
There is a flake in the drag to dismiss bubble test, I think it's
because sometimes it misses the dismiss target since the test drags
the bubble to the bottom of the screen instead of the target location.
In attempt to fix this I'm setting an ID on the dismiss target to
look up where it is on screen and drag the bubble to it directly.
Test: treehugger
Bug: 296933279
Change-Id: I7949aa0131020651214e9ebaa834dda8fc25971a
With ENABLE_HIDE_IME_CAPTION_BAR, we no longer need to update the navigation bar override. This was already applied for the navigation bar, but not the task bar. Mirrors the NavigationBar.java change in
I8793db69fb846046300d5a56b3b0060138ef4cd5.
Bug: 289748734
Change-Id: I86079cb6670a2ae3b6fa883694f8af81df212408
Test: presubmit
If the bubble bar is visible and we're in Overview, set the touchable region
of the Taskbar to include the bubble bar bounds.
Fixes: 290197298
Test: Manual
- Add multiple bubbles to the bubble bar
- Go to Overview
- Tap on the bubble bar
-- Observe that the bubble bar expands
- Tap on different bubbles
-- Observe that the bubble bar updates correctly
- Tap outside the bubble bar
-- Observe that the bubble bar collapses
- Tap outside of the bubble bar again
-- Observe that the launcher state changed and we are in Home
Change-Id: I722778ee41b50ebca57431bb303da89104d25090