Commit Graph

4003 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 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
Liran Binyamin 57d68b4834 Merge "Pass the bubble bar screen coordinates to WMShell" into udc-qpr-dev 2023-07-10 15:44:35 +00: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
Brian Isganitis ea206bbad5 Merge "Provide AllApps item OnLongClickListener through ActivityContext." into udc-qpr-dev 2023-07-07 19:43:01 +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
Vinit Nayak ea12af617e Merge "Add support for taskbar phone 3 button seascape" into udc-qpr-dev 2023-07-06 23:18:07 +00: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
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
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
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
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
Hongwei Wang ca08d75e4a Merge "Polish home-key from split to pip transition" into udc-dev 2023-06-29 17:17:03 +00:00
Jon Miranda 3bad3ebaad Cleans up bad state when transient taskbar shows on home.
Bug: 279514548
Test: open transparent activity on top of launcher
      unstash taskbar
      go home

Change-Id: I13ab79b334e1f8feda441a82cc4d035c0142f513
2023-06-29 02:51:38 +00:00
Jagrut Desai 53d953ccd2 Taskbar All Apps Shortcut Menu Acccessibility Focus
Bug: 280657266
Test: manual
Flag: not needed
Change-Id: I2426636067ce3635b8b24b9f5d093dad7d9ddf4c
2023-06-28 14:48:54 -07:00
Brandon Dayauon f2ea399ec6 Fix prediction row title consistency
There's an inconsistency with prediction row in 0-state and all apps page.
This happens because we change the number of lines (to 1 line) after calculating and rendering the two lines.
Which is why if you look at the photos, in all apps, Amazon app just shows "Amazon" instead of "Amazon Sh.."

Instead of changing the number of lines after processing, just set a separate display to the prediction app row

bug:288811197
Flag: teamfood
Test: manual - locally added test BubbleTextView
before 0-state: https://screenshot.googleplex.com/5q9iYypgwwtDa8b
before allapps prediction row: https://screenshot.googleplex.com/BVxGMTT43stDzZ9
after allapps prediction row: https://screenshot.googleplex.com/BfNTFPXwf4FHuRN

Change-Id: Ifefe6dc8dd4a117be7b63f92ff837d0467a51f8b
2023-06-28 14:45:07 -07:00
Brian Isganitis 033ebc8a22 Only update local zss cache when Taskbar Toast already active.
Toast is handling suggestion updates itself during the session, and we
do not need to send along the new search suggestions passed from
bindExtraContainerItems. We should still store the updated suggestions
in memory for the next time Taskbar All Apps is invoked.

Test: Manual
Bug: 216683257
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Flag: ZERO_STATE_WEB_DATA_LOADER
Change-Id: I68673e5941dc4b81c3e72b7ec579f566f13ee4d2
2023-06-28 19:55:28 +00:00
Winson Chung 551cbc4969 Merge "Workaround for handling the restart of an already visible task" into udc-dev am: 0da5208bb3 am: c8a2f9111b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23785437

Change-Id: I2a7ebbac3c510d32b70ee57dd8323123800ff09a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-28 07:52:58 +00:00
Winson Chung 57c2a79e47 Workaround for handling the restart of an already visible task
- If a task is already visible, then startActivity is a no-op and the
  remote transition that launcher expects to run is not started. As a
  workaround (until restarts are an actual transition), listen for
  the case where a task is restarted and invoke the end callbacks

Fixes: 286016555
Test: Repro steps on the bug
Change-Id: Iec3ab97c8817a5e95399cec90f891d65f369d234
2023-06-28 05:51:54 +00:00
Jerry Chang 3651051182 Polish home-key from split to pip transition
Includes WINDOWING_MODE_MULTI_WINDOW closing target to the condition of
playing fallback animation. So the remaining splitting task won't be
play with iconview animation when home-key to auto-pip consumed another
splitting task in pip transition handler.

Bug: 281476331
Test: repro steps of the bug
Test: pass existing tests
Video: http://recall/-/fLARJNt42LVxc3tt86SneW/eelqATeE1REoOtOEDxeDVR
Change-Id: If05d8841a6a940e61f71683422ef1a3d4e3597c7
2023-06-28 02:10:34 +00:00
TreeHugger Robot d5b3a0a099 Merge "Removing explicit target SDK for launcher" into udc-qpr-dev 2023-06-27 22:34:40 +00:00
Mady Mellor d8cb90f010 Merge changes Iaee9aeb0,I76587cf6 into udc-qpr-dev
* changes:
  Fade the bubble bar arrow in and out when the bubble bar expands and collapses.
  Animate the bubble bar width and the bubbles within it as it expands and collapses.
2023-06-27 17:35:58 +00:00
TreeHugger Robot 796c3bbd02 Merge "Restore strong reference to animation runner" into udc-dev am: 1f3c56af5b am: 7733c11623
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23793397

Change-Id: I5f485e204fa56b319f250a467eb448622be9f01f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 03:54:56 +00:00
TreeHugger Robot 1f3c56af5b Merge "Restore strong reference to animation runner" into udc-dev 2023-06-27 02:13:00 +00:00
Winson Chung 6cfe2e6cbe Restore strong reference to animation runner
- The remote animation factory needs to be strongly referenced since
  the only other reference is a weakly held one from
  LauncherAnimationRunner, and if a gc happens in between starting
  the animation and the onAnimationStart() callback, then the
  animation will not play.

Fixes: 284106887
Test: Force a gc after creating a remote app launch animation and ensure
      that the runner still exists when the animation starts

Change-Id: I5f584451b41c666916801b8ea0cb470c7ab9fc51
2023-06-26 23:55:23 +00:00
Sunny Goyal b02dafc1d4 Removing explicit target SDK for launcher
> It will automatically target the latest SDK it was compiled with

Bug: 284349887
Test: Presubmit and manual
Flag: N/A
Change-Id: I32629b0dd710c3c04d8f70f988b7279e7cae6731
2023-06-26 10:15:14 -07:00
Schneider Victor-tulias a4d1e9aa99 Merge "Remove unnecessary method from StatefulActivity" into udc-qpr-dev 2023-06-26 16:41:12 +00:00