Commit Graph

9481 Commits

Author SHA1 Message Date
Ivan Tkachenko e3d4a69749 Merge "Bubble bar drag to dismiss" into udc-qpr-dev 2023-07-12 17:13:50 +00:00
Liran Binyamin 7dd280eef3 Merge "Don't show the bubble bar when it is empty" into udc-qpr-dev 2023-07-12 15:09:21 +00:00
Liran Binyamin 2c1e84b3a1 Merge "Pass bubble bar offsets instead of position to WMShell" into udc-qpr-dev 2023-07-12 14:41:32 +00:00
Ivan Tkachenko eceb797d2f Bubble bar drag to dismiss
* Added dismiss view to the taskbar
* Bubble drag to dismiss of:
  * A single bubble when the bubble bar stack is expanded
  * All bubbles when the bubble bar stack is colapsed
* Added dismiss related calls to WMShell in SystemUI through SystemUIProxy

Bug: 271466616
Test: manual, TBD
Flag: WM_BUBBLE_BAR
Change-Id: Ibb62a0b1ab9fafa8a3acf07450ce2132ed605adc
2023-07-12 07:13:12 +01:00
Mady Mellor db3cdd4e97 Merge changes from topic "mm_bubbleInfoFlags" into udc-qpr-dev
* changes:
  Show / hide the "update" dot on bubbles in bubble bar
  Handle any image / label changes for bubble updates in bubble bar
2023-07-12 01:00:10 +00:00
Vinit Nayak 64f3766ba7 Merge "Dismiss split select when tapping on home button" into udc-qpr-dev 2023-07-11 23:06:47 +00:00
Mady Mellor c299ad645a Show / hide the "update" dot on bubbles in bubble bar
Updates BubbleView to include logic to render the update dot on a
bubble. This only shows for BubbleBarBubbles, not the overflow.

We only show the dot (and the badge) when:
- the bubble has new content / appropriate flags set
- AND the bubbles are expanded
  OR on the first bubble when bubbles are collapsed
- AND when the flyout is not animating (this bit doesn't exist yet)

If a bubble has a dot and is opened, the dot will animate away.
To do this, we update the flags set on a bubble.

The flag needs to be set on WMShell side as well as Launcher side.
When a bubble is shown by WMShell, it automatically updates the flag.
This CL adds code to update the flag on Launcher side when we call
into WMShell to show the bubble.

Test: manual
Bug: 269670235
Change-Id: I32f652effa9a73c567981aa5a2a5864e9c3c0c66
2023-07-11 15:09:29 -07:00
Liran Binyamin 05ef774e6e Don't show the bubble bar when it is empty
Sometimes the bubble bar shows when the launcher process starts up
even when there are no bubbles.

bubblesShowingOnHome is set to true when the launcher transitions into
Home, but that state also triggers a call to showBubbleBar() which will
eventually set the visibility on the bar.
During initialization we also call setHiddenForNoBubbles to hide the bubble
bar if it's empty, but these events happen separately so the bar may or
may not be hidden.

This change avoids calling showBubbleBar when setBubblesShowingOnHome is
called and the bar is invisible. Instead the bubble bar will become visible
once bubbles are added.

Fixes: 290608658
Test: manual
       - Toggle bubbles off and back on in settings
       - Restart launcher
       - Observe the bubble bar is not displayed
Change-Id: I30640764d7b6eae64e1c5b5c687760465bf9a7b1
2023-07-11 17:12:00 -04:00
Liran Binyamin 1c03ed001d Pass bubble bar offsets instead of position to WMShell
This allows WMShell to calculate the position of the expanded view
correctly when the bubble bar is being expanded from stashed.

Test: See ag/24012908
Change-Id: I7b917e761c827135942d918917c920b06650f496
2023-07-11 17:08:09 -04:00
Mady Mellor 1812924a53 Handle any image / label changes for bubble updates in bubble bar
When we get an update to a bubble it could mean that there's a new
message OR that something about the visual representation changed.

This CL modifies BubbleBarController to handle any visual changes
that might have occurred to an updated bubble (e.g. bubble image
changed).

It does this by updating the bubbleInfo on the existing bubble.

Test: manual
Bug: 269670235
Change-Id: I03d2510aef335dafccb32d6adcd4c6adf8b3297d
2023-07-11 13:34:46 -07:00
Mady Mellor 3e952e034c Merge "Unify calls to sysuiProxy#showBubble into one method" into udc-qpr-dev 2023-07-11 20:24:14 +00:00
Brian Isganitis f54c6fa4b4 Revert "Revert "Provide AllApps item OnLongClickListener through ActivityContext.""
This reverts commit 853a5b9e0c.

Fixes SecondaryDisplayLauncher class by using lambda instead of method
reference for #getAllAppsItemLongClickListener. This change is necessary
because mDragLayer is late-init.

Test: Home Settings > Developer Options > Launch Secondary Display
Bug: 289261756
Flag: No
Change-Id: I7b83f81651dde360edea6ee7bea6cc82441e6bef
2023-07-11 13:21:47 -04:00
David Saff aaf3094540 Merge "Revert "Provide AllApps item OnLongClickListener through ActivityContext."" into udc-qpr-dev 2023-07-11 12:32:36 +00:00
David Saff 853a5b9e0c Revert "Provide AllApps item OnLongClickListener through ActivityContext."
This reverts commit 0acab2532d.

Reason for revert: b/290403189

Change-Id: Ie3f67f78a8ffce8c2d5a92f65a7e74d788c82a81
2023-07-11 10:45:33 +00:00
Mady Mellor 4e0ec1e458 Unify calls to sysuiProxy#showBubble into one method
This will make it easier to note that a bubble has been "visited"
so that we can hide the update dot (coming in future CL).

Test: manual
Bug: 269670235
Change-Id: Ie2dbbc478198ece65c05927295d3c3031a7be82e
2023-07-10 13:38:15 -07:00
Vinit Nayak f6c2e87747 Dismiss split select when tapping on home button
Bug: 276361926
Test: Initate split, dismiss whenever home is pressed,
doesn't dismiss when all apps dragged down
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE

Change-Id: Idc95123e27963c3913d04c6eb27f0e4c9b1eb401
2023-07-10 11:06:42 -07:00
Tracy Zhou 10b5a3903a Merge "Fix icon not showing in staged split from keyboard shortcut" into udc-qpr-dev 2023-07-10 17:31:55 +00:00
Liran Binyamin 57d68b4834 Merge "Pass the bubble bar screen coordinates to WMShell" into udc-qpr-dev 2023-07-10 15:44:35 +00:00
Tracy Zhou da6a625f46 Fix icon not showing in staged split from keyboard shortcut
Bug: 246661484
Test: https://screenshot.googleplex.com/8X6ggCoYPD8rzSp
Change-Id: I0fa592b1a027769fd09a6de803ea44f5ae915f43
2023-07-08 13:59:12 -07:00
Winson Chung 55eedd4e5c Merge "Fix an issue with nav bar translations not being updated" into udc-dev am: a53261b9cd am: a8e08175ad
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23923806

Change-Id: Id330daa9c44cad3ef1733ba2319a8b69260ef99b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 20:01:36 +00:00
Winson Chung 216d00531d Ignore recents transition if there are no closing tasks am: 6f7e15ff64 am: b06c5f7a2b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23909000

Change-Id: I69a9a85e57bc1282179f979b073e0e3dab8d59c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 20:01:25 +00:00
Brian Isganitis ea206bbad5 Merge "Provide AllApps item OnLongClickListener through ActivityContext." into udc-qpr-dev 2023-07-07 19:43:01 +00:00
Winson Chung a53261b9cd Merge "Fix an issue with nav bar translations not being updated" into udc-dev 2023-07-07 18:33:16 +00:00
Liran Binyamin 469fef61ab Pass the bubble bar screen coordinates to WMShell
This allows WMShell to store the bubble bar coordinates so that it
draw the expanded view above it.

Fixes: 290099589
Test: Manual
       - Add bubbles to the bubble bar
       - Expand the bubble bar
       - Observe that there is enough space between the bar and the
         expanded view
Change-Id: Iff40b2b71369f33f343eb069e119f65723a6984e
2023-07-07 16:52:04 +00:00
Sunny Goyal 229b2efbae Merge "Fixing crash when using multi-window" into udc-qpr-dev 2023-07-07 03:16:13 +00:00
Vinit Nayak ea12af617e Merge "Add support for taskbar phone 3 button seascape" into udc-qpr-dev 2023-07-06 23:18:07 +00:00
Sunny Goyal 90bf1f4298 Fixing crash when using multi-window
Bug: 290170868
Test: Verified on device
Flg: N/A
Change-Id: If9129a3a47d651755cc99dfcfc0e9be69c2ca63c
2023-07-06 15:23:06 -07:00
Vinit Nayak 781077ddff Merge "Reset split selection state when swiping to home" into udc-qpr-dev 2023-07-06 22:14:41 +00:00
Brian Isganitis 0acab2532d Provide AllApps item OnLongClickListener through ActivityContext.
This cleans up how alternative AllApps implementations such as Taskbar
and SecondaryDisplay override the default INSTANCE_ALL_APPS listener.
This change will also be helpful for Toast in Taskbar drag-n-drop.

Test: Manual
Bug: 289261756
Flag: n/a
Change-Id: I55eb881bcd1e210852d435a3ea2a6686ce0a9838
2023-07-06 22:12:20 +00:00
Vinit Nayak 5e2a2564e8 Reset split selection state when swiping to home
Bug: 276361926
Fixes: 238651489
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE

Change-Id: Ic1439561f37b50ebf9dfb99edbeece21520798b1
2023-07-06 15:08:05 -07:00
Winson Chung ccd359d76c Fix an issue with nav bar translations not being updated
- There are flows where the shared taskbar state is updated prior
  to being destroyed, and not updated to the latest values when
  the taskbar is recreated.

  ie.
    unfolded -> lock screen -> LauncherTaskbarUiController's
      mTaskbarInAppDisplayProgress[SYSUI_SURFACE_PROGRESS_INDEX]
      is set to 1 due to the notif shade (lockscreen) showing.
      This is written into TaskbarSharedState's sysuiStateFlags
      and inAppDisplayProgressMultiPropValues.
    fold -> TaskbarActivityContext is destroyed
    unlock -> TaskbarManager and TaskbarSharedState's
      sysuiStateFlags are updated while the device is folded
    unfold -> TaskbarActivityContext is recreated and initialized
      which restores from the shared state's
      inAppDisplayProgressMultiPropValues. It also tries to reapply
      the shared state's sysuiStateFlags, but this doesn't update
      inAppDisplayProgressMultiPropValues because the state's
      "enabled" state is not updated (default is no flag set, and
      lockscreen sysui state is not set anymore).
    -> The restored inAppDisplayProgressMultiPropValues value
       results in the wrong translation.

- Note that after the above, the NavbarButtonsViewController state
  is actually correct and reflects the SysUI state, but the
  LauncherTaskbarUiController state is wrong.  This CL tries to
  manually update the ui controller to the correct state when it
  is recreated.
- CL also fixes a separate issue where LauncherTaskbarUIController
  could potentially overwrite the saved state progresses while
  restoring them due to the state callback being called

Bug: 283346744
Test: Unfold -> Lockscreen -> Fold -> Unlock -> Unfold and ensure
      the buttons are translated correctly



Change-Id: I43e473faf4fa2a493b9705506e3755df8f6264e7
Signed-off-by: Winson Chung <winsonc@google.com>
2023-07-06 22:01:49 +00:00
Vinit Nayak 15a9feb67f Add support for taskbar phone 3 button seascape
* Ignore orientation check from ag/22709055 for now,
that will be reverted. This causes recreateTaskbar() to
not run when folding the device

Bug: 274517647
Test: Tested 3 button nav in portrait/landscape/seascape
Flag: persist.wm.debug.hide_navbar_window
Change-Id: Ied02ead677d496b465c748257e32b7db5eb9580c
2023-07-06 13:58:30 -07:00
Liran Binyamin 7fedde35ad Merge changes I93c2232d,I00daff83 into udc-qpr-dev
* changes:
  Align the bubble bar with the taskbar in overview and app
  Update the bubble bar offset on Home
2023-07-06 18:40:27 +00:00
Winson Chung 6f7e15ff64 Ignore recents transition if there are no closing tasks
- In the case where Launcher calls startRecentsTransition while there
  are no other visible tasks, we should not be continuing with the
  transition as there are no tasks for Launcher to control.  This was
  previously handled in RecentsAnimationController in legacy
  transitions, but the safer fix is to ignore it on the Launcher
  side for this release.

Bug: 289175232
Test: Manually trigger empty targets and verify no issues
Change-Id: I3657c000cbc8c14c9ac989c2a57715515c96edb6
2023-07-06 18:09:52 +00:00
Brian Isganitis cdb56ea2e0 Merge "Only update local zss cache when Taskbar Toast already active." into udc-qpr-dev 2023-07-06 18:03:55 +00:00
Liran Binyamin d76a9d9240 Align the bubble bar with the taskbar in overview and app
Whenever the bubble bar is unstashed and taskbar is present, the
translationY of the bubble bar is now adjusted so that it is aligned
with the taskbar.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/e3dlacSsSebQfEFTEt10JM

Fixes: 286247080
Test: Manual:
      - Add bubbles to the bubble bar.
      - On home observe the bar is aligned with hotseat
      - Switch to overview and observe the bar is aligned with taskbar
      - Go back to home. Bar aligns with hotseat.
      - Launch an app. Swipe up to load taskbar. Bar is aligned with taskbar.
      - Go back to home. Bar aligns with hotseat.
Change-Id: I93c2232d4862be4c97e36ddb6c9d680b01e555ad
2023-07-06 12:10:27 -04:00
Vinit Nayak 8082401a83 Prevent passing in GroupedTaskView when not animating split launch
* With ag/23320818 we started always passing in GroupedTaskView,
which gets used downstream to mean that we are launching an app
from tapping on it in overview
* This caused a bug in the case where we quickswitched to the last
task. Now we pass in null for GroupedTaskView like before

Test: Prior bug (b/274540670) doesn't occur, nor do repro steps
for this one
Fixes: 289163668
Flag: None

Change-Id: I82dd8f26bfc286fefc0995822786cf3980da41d0
2023-07-05 18:21:59 -07:00
Liran Binyamin c06c7ff6fa Update the bubble bar offset on Home
This is an initial change that positions the bubble bar aligning it
with the center of the hotseat icons. We still need to center it
with the taskbar when in overview.

This change also fixes the touch issues where sometimes the hotseat
icons don't respond to taps. The fix is twofold:

1. Make sure that taskbar insets are always updated when
   BubbleStashController#setBubblesShowingOnHome is called.
2. Update the touchable region in TaskbarInsetsController to account
   for the Y translation of the bubble bar bounds when the bubble
   bar is visible.

Demo: https://screenshot.googleplex.com/6NRyu2CR7Bjs32x

Bug: 286247080
Test: Manual on a physical device
Change-Id: I00daff8341e4d8f5d141b5e0220726f6c03b437c
2023-07-05 17:29:52 -04:00
Jeremy Sim 66ec0f6a28 Merge "Remove flag ENABLE_LAUNCH_FROM_STAGED_APP" into udc-qpr-dev 2023-07-05 21:22:22 +00:00
Jeremy Sim 3137f65dcc Merge "Add logcat logs for splitscreen launch failures" into udc-qpr-dev 2023-07-05 21:22:12 +00:00
Liran Binyamin 16b05e251b Ensure overflow isn't selected when bar is collapsed
After the bubble bar collapsing animation completes, and reordering
is finished, if the bubble overflow is selected, update the selected
bubble to be the first bubble. This ensures that the overflow
is not selected the next time the bubble bar is expanded.

This is done through a callback from the BubbleBarView to the
BubbleBarController with the key of the first bubble. Ideally the view
would just notify that the selected bubble needs to be updated, but
the controller doesn't hold ordering info.

Fixes: 289280431
Test: manual
       - Add 2 bubbles to the bubble bar
       - Expand the bubble bar. The first bubble A should be selected
       - Select the second bubble B
       - Select the overflow
       - Tap on the overflow again to collapse the bubble bar
       - Tap on the bubble bar to expand it
       - Observe that bubble B is first and selected
Change-Id: I0f9c2d628cfaf3a80da55ff634284687425e949a
2023-07-05 12:20:46 -04:00
Jagrut Desai 491b0f9028 Merge "Taskbar All Apps Shortcut Menu Acccessibility Focus" into udc-dev am: fa2a81844f am: d4b4e95bea
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23845422

Change-Id: I9d438b3edda25a7407d30d702013b385b3fd9195
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 23:47:37 +00:00
Jagrut Desai fa2a81844f Merge "Taskbar All Apps Shortcut Menu Acccessibility Focus" into udc-dev 2023-06-30 22:29:20 +00:00
Treehugger Robot 957d46ae52 Merge "Cleans up bad state when transient taskbar shows on home." into udc-dev am: 2c3c1e46c0 am: 4de15620c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23852178

Change-Id: Idbb6ded338cf1fe3db8142ba75d54844a9bf1382
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 19:05:32 +00:00
Holly Jiuyu Sun 18e0e1e50a Merge "[a11y] Fix crash when using talkback to add to home screen." into udc-qpr-dev 2023-06-30 17:56:16 +00:00
Treehugger Robot 2c3c1e46c0 Merge "Cleans up bad state when transient taskbar shows on home." into udc-dev 2023-06-30 17:45:50 +00:00
Holly Sun 35b9960b63 [a11y] Fix crash when using talkback to add to home screen.
1. Fix a crash from http://cs/android-internal/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java;l=1928;rcl=d677caa75de74f1c3a88367cad67ae405fd2903d. It can also be `ITEM_TYPE_SEARCH_ACTION`. Remove the `itemType` check and just use the `PendingAddItemInfo` class type.
2. Override `startConfigActivity` in `PinShortcutRequestActivityInfo`, so that `Launcher#onActivityResult` can be triggered properly from `Launcher#processShortcutFromDrop` (http://cs/android-internal/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java;l=1939;rcl=d677caa75de74f1c3a88367cad67ae405fd2903d )
3. Then we call to `Launcher#completeAdd` -> `completeAddShortcut`. The original `info` passed to `processShortcutFromDrop` doesn’t have a `componentName` (new code), so remove the component non-null check from `completeAddShortcut`.

Bug: 287166186
Bug: 287167527
Bug: 287166771
Test: manual
Flag: N/A
Change-Id: Id3e1444de188f2d2af760f58e3d9814a2b7abd88
2023-06-30 08:42:31 -07:00
Treehugger Robot 1b565681fe Merge "Disable all apps from overview in some cases." into udc-qpr-dev 2023-06-29 23:52:09 +00:00
Brandon Dayauon aa9332af88 Merge "Fix prediction row title consistency" into udc-qpr-dev 2023-06-29 21:45:40 +00:00
Hongwei Wang 49b9fbd188 Merge "Polish home-key from split to pip transition" into udc-dev am: ca08d75e4a am: 93551e9496
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23833485

Change-Id: I0a6ef4eee4dfc6244b5ee4a7716c1e625923d4b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 17:58:16 +00:00