Commit Graph

12125 Commits

Author SHA1 Message Date
Mady Mellor
d22a0b84cb Include bubbles in the dragged items of taskbar UI controller
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - test dragging bubbles with the other CL
Bug: 345488529
Change-Id: I95085fd18f2710cd36a2d47640641da047aa48c7
2024-08-19 09:52:57 -07:00
Winson Chung
cafe06f63d Merge "Detach the nav bar from the app when going home" into main 2024-08-16 22:42:44 +00:00
Mykola Podolian
3bae9ff981 Merge "Fixed issue when hotseat icons are not touchable" into main 2024-08-16 22:26:56 +00:00
mpodolian
9367722dbc Fixed issue when hotseat icons are not touchable
The issue existed because of taskbar insets where set to the full height
of bubble and task bars. Added check that only adds bars touch area if
the user is currently not on the launcher home screen. Commented failing
tests.

Bug: 358301278
Bug: 359277238
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual.
http://recall/-/gx8ASgewUeUS3QYohfrd1J/hcgYuHUJwfbhlvPRsvdWYf
The touch area is within the red rectangle.

Change-Id: I3c2ad3633a049972b93fe5c5e45efd557c220e1f
2024-08-16 13:00:03 -07:00
Luca Zuccarini
0ad76ac07d Merge "Move some Shell utils to the Shared package." into main 2024-08-16 16:32:37 +00:00
Pat Manning
0c6e17020d Merge "Show and hide taskbar tooltips immediately." into main 2024-08-16 14:45:10 +00:00
Winson Chung
5db6d3dd8e Detach the nav bar from the app when going home
- Nothing currently detaches the nav bar from the app until the recents
  animation completes if onAnimationStart() happens after the end
  target is set

Flag: EXEMPT bugfix
Fixes: 343457097
Test: Artificially introduce delayed onRecentsAnimationStart and verify
      detachNavFromApp is called
Change-Id: I1ec0d8821d61f9fad9a811d6a12ce21e8417252f
2024-08-16 00:27:31 +00:00
Pat Manning
b488c88fa3 Show and hide taskbar tooltips immediately.
Fix: 356352494
Test: TaskbarHoverToolTipControllerTest
Flag: EXEMPT bugfix
Change-Id: Ie7dc1f341cf059bb38f61fa185152cb2555e36b1
2024-08-15 17:59:59 +01:00
Treehugger Robot
1d94ee8627 Merge "If we're adding / removing a bubble, don't forget to add the overflow" into main 2024-08-15 16:49:46 +00:00
Treehugger Robot
3ed6885901 Merge "Fix launch animation issue for Desktop tile" into main 2024-08-15 12:17:58 +00:00
Liran Binyamin
246837aa59 Merge "Don't reset alpha after dragging to dismiss" into main 2024-08-15 08:03:13 +00:00
Tracy Zhou
9944b989d6 Merge "Use isGestureNav signal from TaskbarActivityContext for getTaskbarPhoneDimensions" into main 2024-08-15 04:56:41 +00:00
Treehugger Robot
9df623644a Merge "Register the bubble listener after everything has been initialized" into main 2024-08-15 01:51:24 +00:00
Tracy Zhou
a51ee6a4dc Use isGestureNav signal from TaskbarActivityContext for getTaskbarPhoneDimensions
Somehow deviceProfile.isGestureMode doesn't have the right signal for tests.

We need to look into why dp doesn't have the right signal for isGestureMode in tests. Temporary fix here to unblock pushing the flag to staging

Bug: 359196354
Test: https://android-build.corp.google.com/builds/abtd/run/L05600030005823769
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: Ie6451812cf4b0c3f034cabdfd4cec726322af0bc
2024-08-15 01:49:40 +00:00
Mady Mellor
a7f2d83b61 If we're adding / removing a bubble, don't forget to add the overflow
One case I missed was a bubble being added/removed AND the overflow
showing... this isn't the nicest, but when the add/remove animation
is done, animate the overflow in.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 358304168
Test: manual - don't have the overflow showing, add a 6th bubble,
               observe that the overflow appears
Change-Id: I1a9cec3970f5535e935f3404fa6dbd6de2f69fa5
2024-08-14 16:23:07 -07:00
Mady Mellor
173ac574d8 Register the bubble listener after everything has been initialized
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - have bubbles in bubble bar, switch between transient
               taskbar and pinned taskbar repeatedly.
Bug: 359096619
Change-Id: I02beacff64b12380ee6d134b7dcc64cfd27e4b0b
2024-08-14 15:22:21 -07:00
Alex Chau
4bb08df3dc Fix launch animation issue for Desktop tile
- See http://go/b320307512_problems for details
- Adding the following to DesktopTaskView's launch animation
  - Problem 1: Animate away DesktopTaskView's background according to fullscreenProgress, instead of a jump cut
  - Problem 2: Animate Overview's background to transparent to reveal the wallpaper behind
  - Problem 3: Animate wallpaper's zoom back to 1
- Problem 4: Apply TaskRectTransltion in TaskViewSimualtor for DesktopTaksView as well, which is used to account for TaskView not in center.
- Problem 4: Also applied RecentsView zoom in animation when TaskView is not in center, to make the whole DesktopTaskView container (backgroundView) moves as a whole. This requires calculating a new pivot before applying the zoom.
- Problem 5: When swipe down or quick switch from home into Desktop, run DesktopRecentsTransitionController without animation to put everything in the end state immediately to avoid animating again
- Problem 6: For swipe down animation, we now let createAdjacentPageAnimForTaskLaunch handle the wallpaper zoom and splash alpha, instead of doubling the effort. In case of Desktop, wallpaper depth be aniamted to 0 (no zoom/blur)
- Problem 6: Bring Desktop live tile to front during swipe down to avoid wallpaper blur applying to the desktop
- Problem 7 and 8: Crop out desktop window outside full screen bound. This is done by calulating intersection between full screen Rect and desktop window's Rect
- Problem 8: Make swipe down to use thumbnailBounds instead of bounds of the first snapshotView, this fixes all situations that first snapshotView's height is different from TaskView (e.g. vertical split, DesktopTaskView)
- Problem 9: Desktop remote target's alpha should remain 1

Bug: 320307512
Test: TaplTestsOverviewDesktop, motion fixes are tested manually
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Iae6e594424dfc89851b4f7179b0fb5b5ac5e7f46
Signed-off-by: Alex Chau <alexchau@google.com>
2024-08-14 17:31:59 +01:00
Liran Binyamin
afdad57bdf Don't reset alpha after dragging to dismiss
After dragging the bubble bar to dismiss, don't reset its alpha
value.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 359804931
Test: manual
      - Create a bubble in the bubble bar
      - Drag bubble bar to dismiss
      - Create another bubble
      - Observe the new bubble does not flicker
Change-Id: I8d56f71d38ec33acda8efade50735b59254d77d4
2024-08-14 08:08:40 -04:00
Saumya Prakash
eb950c1f44 Disable split screen option in app menu in Desktop Mode
The split screen app shortcut is not intended to work in Desktop Mode.
This change removes it from Taskbar and all apps in this mode to avoid
a crash.

Fix: 346333758
Test: Launch the app menu for different apps in Desktop mode and in
normal mode. Check that the split option only shows up in normal mode.
Flag: EXEMPT bugfix

Change-Id: I6e2535b41a490ad3eb5c0ebd924c49eaf5028669
2024-08-13 22:22:19 +00:00
Vinay Joglekar
cd53b74000 Merge "Announce “Desktop” when focusing on the desktop mode in Overview" into main 2024-08-13 16:24:27 +00:00
vinayjoglekar
95e590229a Announce “Desktop” when focusing on the desktop mode in Overview
https://drive.google.com/file/d/1MNUyDtRhyU8tKRZ5JONLAeUBQ_8Vrids/view?usp=drive_link

Test: NA
BUG: 329375034
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I36460002be94697746fb085e4aeca9a6ac804002
2024-08-13 13:16:10 +00:00
Helen Cheuk
801f86ecac Merge "[Contextual Edu] Enable updating Edu data in Launcher" into main 2024-08-13 12:52:02 +00:00
Kai Li
d5b25b8e8e Merge "Add a parameter to requestAssistDataForTask to allow fetching the structure." into main 2024-08-13 11:46:15 +00:00
Uwais Ashraf
d39bc803c7 Merge "Improve performance of thumbnail retrieval - hot taskData flow" into main 2024-08-13 10:59:32 +00:00
Tracy Zhou
c632ae351d Disable 2-finger swipe from home to pull down notifications
Bug: 356804470
Test: manual
Flag: EXEMPT bugfix
Change-Id: I612e3c7ac7cd0db2fe2dbb142f0271c07ffdda3b
2024-08-12 21:28:17 -07:00
Treehugger Robot
e3165184f6 Merge "Revert "Synchronize the app launch and taskbar stash animations."" into main 2024-08-13 02:19:52 +00:00
Jon Miranda
50a7279ae6 Revert "Synchronize the app launch and taskbar stash animations."
This reverts commit cde962dcb7.

Fixes: 355666644
Reason for revert: Memory leak b/355666644

Change-Id: I2eee00d2d8d65e1e1805ad76fafc7caab8626715
2024-08-13 00:41:01 +00:00
Ben Lin
d924a99dd6 Merge "Check for leftTopTask and rightBottomTask in KQS." into main 2024-08-12 22:24:45 +00:00
Ben Lin
fd9056cab4 Check for leftTopTask and rightBottomTask in KQS.
KQS currently always take the GroupTask's taskId1 and taskId2 as
leftTop/rightBottom, in that order. However, sometimes it is possible
that the order is flipped; RecentTasksController#getRecentTasks return a
list of tasks base on recency, and it is possible that when it
initializes a new GroupTask, it put leftBottom as task2 and vice versa,
completely dependent on how they are processed. This CL uses
GroupTask#mSplitBounds as the source of truth to see

1) Which leftTop/rightBottom to draw for the thumbnail and
2) Which task is leftTop, which task is rightBottom, for re-launching

Bug: 328691131
Test: Manually; using KQS, no longer see the app in the wrong places
Flag: EXEMPT bugfix
Change-Id: I14b3becb05359a917372ec2d7d80d32190f0f96b
2024-08-12 13:33:35 -07:00
Uwais Ashraf
60b62d734d Improve performance of thumbnail retrieval - hot taskData flow
Bug: 357542209
Test: TasksRepositoryTest, manual with reduced speed video
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: Ie94daf61d8e41c4b9c12d67f5f45166104879325
2024-08-12 16:49:24 +00:00
Vinay Joglekar
fee62395a2 Merge "Update desktop icon/app Chip with the new icon" into main 2024-08-12 09:03:14 +00:00
Liran Binyamin
de9b1df642 Merge "Remove BubbleBarView.mIsAnimatingNewBubble" into main 2024-08-11 08:25:29 +00:00
Treehugger Robot
a039778109 Merge "Show Taskbar education when launching an app pair." into main 2024-08-10 01:23:54 +00:00
Saumya Prakash
e7d9e9f647 Show Taskbar education when launching an app pair.
This change ensures that the Taskbar education shows up when a saved app
pair is launched and the education had not been seen before. This
matches the expected behavior as well as transient taskbar's behavior.

Fix: 323298512
Test: Create an app pair, reset taskbar education and launch the app
pair from home. Repeat for 3 button nav and pinned taskbar.
Flag: EXEMPT bugfix

Change-Id: I5ca68424f846f25beb1390c2dc50dfac3ba8e8d9
2024-08-09 23:37:45 +00:00
Winson Chung
f3a85e17af Merge "Explicitly release references to the controller" into main 2024-08-09 22:42:02 +00:00
Mykola Podolian
d5af1e7cd5 Merge "Added taskbar in/out animation when the bubble bar is expanded/collapsed" into main 2024-08-09 21:36:51 +00:00
Winson Chung
08ef39c5ba Explicitly release references to the controller
- This is a workaround for lingering phantom references to binder
  stubs

Flag: EXEMPT bugfix
Bug: 332339792
Test: Presubmit
Change-Id: I3e790f627d434760e87be1dc6c8643d03fceb400
2024-08-09 19:57:00 +00:00
mpodolian
6ba789a98f Added taskbar in/out animation when the bubble bar is expanded/collapsed
Added taskbar icon animation when the bubble bar expansion changes.

If there is enough space to accommodate both bars with spacing in
between, the taskbar remains. If there is not enough space, the taskbar
is animated out and then animated in when the bubble bar is collapsed.

Bug: 346391377
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Set taskbar to persistent mode via 3-button navigation or
through the taskbar itself. Have enough bubbles to cover the taskbar
when the bubble bar is extended. Expand the bubble bar and observe the
taskbar icons animating out. Remove a few bubbles so there is enough
space to accommodate both bars. Expand the bubble bar and observe that
both bars are visible.

Change-Id: I0b03a010c1e49ab39a17934f6629d5496fd66978
2024-08-09 11:10:28 -07:00
Tracy Zhou
4b257550b7 Merge "Do not animate unfolded bar when folded on certain SysUI flag update" into main 2024-08-09 17:51:19 +00:00
Mady Mellor
de28dc32eb Merge "Add a bubble option to launcher long press menus" into main 2024-08-09 17:25:02 +00:00
helencheuk
39a6093369 [Contextual Edu] Enable updating Edu data in Launcher
- Added ContextualEduStatsManager (in Launcher3) and SystemContextualEduStatsManager(in Quickstep) to enable classes in Launcher3 and quickstep to update contextual edu data
- Implemented new updateContextualEduData method in SystemUiProxy file, so the EduStatsManager could use it for update
- AbsSwipeUpHandler handles the logic to go home/overview when in app. Added code to update contextual edu data when these action is triggered.

Test: LauncherSwipeHandlerV2Test
Bug: 357542123
Flag: com.android.systemui.keyboard_touchpad_contextual_education
Change-Id: I6fc5a285ba1a1d770c54cc7af444ff8b3051bd00
2024-08-09 13:38:21 +01:00
vinayjoglekar
7a73c2db59 Update desktop icon/app Chip with the new icon
Add desktop icon/app Chip text

Test: OverviewDesktopTaskImageTest
BUG: 320310236
Flag: EXEMPT resource only update
Change-Id: I6a41cff78690777745b8dcbfea1b8fadee200f96
2024-08-09 11:22:54 +00:00
Kai Li
d891b09f6b Add a parameter to requestAssistDataForTask to allow fetching the structure.
Change-Id: I5293c4334d6a9a16931f7a8b211cc3def98a0028
Flag: EXEMPT refactor
Test: presubmits
Bug: 358253153
2024-08-09 06:04:01 +00:00
Mady Mellor
1cc100844c Add a bubble option to launcher long press menus
- Add a launcher "system shortcut" to bubble deep shortcuts or apps
- For shortcuts, save the shortcut info to use to produce the bubble
- Add an interface so that the system shortcut can call through to
  sysui proxy

Flag: com.android.wm.shell.enable_bubble_anything
Test: manual - enable the flag and try to bubble a shortcut via the
               longpress menu on launcher
             - try bubbling an app on launcher
             - try bubbling an app from the taskbar
Bug: 342245211
Change-Id: I1ef49e1628ba0be9cea05073ecd9cd66bf67f88f
2024-08-08 21:23:13 +00:00
Jon Miranda
540af8a55a Fix jumping taskbar when tapping on nav handle.
We can skip updating taskbar when home visibility changes due to
recents transition animation. For this specific case it was a
superfluous call anyways since taskbar unstashing would be
handled by TaskbarUnstashInputConsumer.

Fixes: 292108880
Bug: 345768019
Test: launch app, quickly tap on nav handle
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I822071d31d066503c27f527ade46e28a154df249
2024-08-08 19:14:58 +00:00
Liran Binyamin
5eeff8d1e3 Merge "Support expanding the bar while animating" into main 2024-08-08 12:44:42 +00:00
Liran Binyamin
09c2ad248b Remove BubbleBarView.mIsAnimatingNewBubble
We now use BubbleBarViewAnimator directly to check if there's a new
bubble animation.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 339683389
Test: presubmit
Change-Id: I5f884095125e6226338aee14d9d08e46b87ff2ec
2024-08-08 07:49:04 -04:00
Treehugger Robot
3307f87b82 Merge "Implement e2e test for desktop windowing" into main 2024-08-08 11:32:10 +00:00
Alex Chau
1ceac5ddfe Implement e2e test for desktop windowing
Code changes:
- TaskView, GroupedTaskView and DesktopTaskView now uses different resId, so it can be differentiated by TAPL
- Extracted result handling of icon loading, so we can override in DesktopTaskView
- DesktopTaskView now load icons, so titleDescription can be loaded. When icons are loaded, contentDescription are applied to respective snapshotViews; icon unloading is ignored
- Track launchDesktopFromRecents and composeRecentsLaunchAnimator in TAPL events so we can test if the TaskView launch path is correct

Test changes:
- Added TaplTestsOverviewDesktop that move 2 TestActivities into Desktop, and launch the DesktopTaskView as static and live tile
- TaplTestsOverviewDesktop is limited to Tangor/cf_tablet only, and added LimitDeviceRule to AbstractLauncherUiTest to enable @AllowedDevices and @IgnoreLimit

TAPL changes (2 APIs added/modified):
- Changed TaskView matcher to use id/task_view_* to match all TaskView types
- When Overview is launcehd from Background, mark the currentTask after the launch as liveTile. When an OverviewTask has the same accessibility node as the liveTile, it'll expect different event when launching.
- [API change] BaseOverview.getTestActivityTask can now matches mutiple test activiites, useful for matching GroupedTaskView and DesktopTaskView; Fix a bug that getTestActivityTask wrongly use `getParent()` which is RecentsView to match activityName.
- In OverviewTask.open, we'll expect different events based on TaskView types and whether it's a live tile. Launching DesktopTaskView will in additional verify Desktop header is present on screen.
- [API change] In OverviewTaskMenu, support tapping Desktop menu and verify Desktop header is present on screen.
- Removed unused OverviewTaskMenuItem

Fix: 320313527
Test: TaplTestsOverviewDesktop
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I89261c787364901320f3acb18f01ddad5f62d17c
2024-08-08 10:37:40 +01:00
Liran Binyamin
46111b109e Support expanding the bar while animating
Update the BubbleBarAnimator to handle auto expanding bubbles as
well as expand signals that are received while animating the bubble
bar.

The expansion starts after the bar reaches its peak height. If the
hide animation starts before the expansion signal is received, we
ignore it.

Next step is to delay showing the expanded view until the bubble bar
starts expanding.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 353644484
Fixes: 356415377
Bug: 339683389
Test: atest BubbleBarViewAnimatorTest
Change-Id: I79a63f0b8728abc1ab3345f0116cbfcba2918643
2024-08-08 03:46:07 -04:00