Commit Graph

241 Commits

Author SHA1 Message Date
Liran Binyamin
8bd8feb72d Bubble bar flyout polish
Animate the elevation of the flyout along with the expansion animation.
Also start revealing the triangle as soon as we're past the bubble bar.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: Ie7e27240ae3ab86f8e7c3f39aa1c80885cfdc98e
2024-10-01 12:06:36 -04:00
Liran Binyamin
74299edbc6 Merge "Update flyout content during animation" into main 2024-09-30 16:54:15 +00:00
Jeremy Sim
ce40e83e56 Merge "Update splitscreen SnapPosition constants" into main 2024-09-28 02:54:10 +00:00
Liran Binyamin
5c34cf2741 Update flyout content during animation
This change translates the content of the flyout according
to the progress of the animation. Adding an outline provider
allows clipping the content to the bounds of the animating
background.

Also animate the color of the background.

Demo:
on left - http://recall/-/bJtug1HhvXkkeA4MQvIaiP/cH2EK0FiD92dykhLkLeyh1
on right - http://recall/-/bJtug1HhvXkkeA4MQvIaiP/btpcter79rAlcavd4xxHu7

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest

Change-Id: Id142af2041410c0570759a360146d5e084411cc1
2024-09-27 17:27:20 -04:00
Ats Jenk
e7d52f523d Merge "Handle swipe down on collapsed bubble bar" into main 2024-09-27 19:44:56 +00:00
Jeremy Sim
66b695b5fd Update splitscreen SnapPosition constants
Bug: 349828130
Test: No logical changes, continues to pass tests
Flag: com.android.wm.shell.enable_flexible_split
Change-Id: I7b0b436c7eabf7d9fc46e2c6d6e504343d06e48a
2024-09-27 19:17:20 +00:00
Liran Binyamin
272eea45e6 Merge "Implement bubble bar flyout background animation" into main 2024-09-27 12:45:41 +00:00
Liran Binyamin
f7fc19bec1 Implement bubble bar flyout background animation
Update the bubble bar flyout drawing behavior to allow to animate
from a collapsed position into an expanded position.

This change only handles the rounded rect and the triangle. The
text is still left unchanged.

When wired up this looks like this:
left: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/gIsckRmFKj8CceafiJnPTa
right: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dpn51yXFCCkT6ViUegf351

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I85ae3bf908c04e5473655c9e536495f56d80f466
2024-09-26 14:38:41 -04:00
Ats Jenk
0b19598d36 Handle swipe down on collapsed bubble bar
Allow swiping down on collapsed bubble bar to stash it.

Bug: 325673340
Test: atest NexusLauncherTests:com.android.launcher3.taskbar.bubbles.BubbleBarSwipeControllerTest
Test: swipe up to show bubble bar and swipe down to stash it
Test: tap on stashed handle
Test: enable 3 button nav and tap on bubble bar
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I0367d36bdc1aef34dc71843052b691a95e293375
2024-09-25 13:06:22 -07:00
Treehugger Robot
d3e1d7ba42 Merge "Fixes to allow enabling of enable_refactor_task_thumbnail flag" into main 2024-09-25 02:48:24 +00:00
Brian Isganitis
bfe4d6b469 Merge changes Ie1b6609b,If115625c,I418675ba,I930e7458 into main
* changes:
  Add tests for TaskbarAllAppsViewController.
  Add tests for TaskbarAutohideSuspendController.
  Add tests for TaskbarScrimViewController.
  Add tests for TaskbarStashController.
2024-09-24 22:53:24 +00:00
Brian Isganitis
d7dc6ba320 Add tests for TaskbarAllAppsViewController.
Test: TaskbarAllAppsViewControllerTest
Flag: TEST_ONLY
Bug: 346394506
Change-Id: Ie1b6609b243326eb11d03d2ea7b0e98bd60c3a71
2024-09-24 18:51:46 -04:00
Brian Isganitis
bd90d3aa3c Add tests for TaskbarAutohideSuspendController.
Test: TaskbarAutohideSuspendControllerTest
Flag: TEST_ONLY
Bug: 346394406
Change-Id: If115625cb5a6bf2e7653dbe7225b60bf1c6f3836
2024-09-24 18:51:46 -04:00
Brian Isganitis
78f8d40519 Add tests for TaskbarScrimViewController.
Test: TaskbarScrimViewController
Bug: 346395034
Flag: TEST_ONLY
Change-Id: I418675ba9aeaa645a0b216d237c479ffd640baf9
2024-09-24 18:51:46 -04:00
Brian Isganitis
3231ba01e6 Add tests for TaskbarStashController.
Test: TaskbarStashControllerTest
Bug: 346394503
Flag: TEST_ONLY
Change-Id: I930e745826f2512d04434ad689a3e42cac7e9901
2024-09-24 18:51:46 -04:00
Ats Jenk
bf09e036b3 Merge "Have bubble bar unstash gesture track finger" into main 2024-09-24 22:33:02 +00:00
Ats Jenk
26d74b9ec0 Have bubble bar unstash gesture track finger
Follow the taskbar motion for unstashing via gesture.
When swiping up in the handle area, move the handle slightly up with the
finger movement.
Once reaching a certain threshold, unstash the bubble bar.
If user swipes up past a certain other threshold, and lifts the finger,
expand the bubble bar. Otherwise leave bubble bar in collapsed state.

Only stashed handle or collapsed bar can be swiped up on.

Bug: 325673340
Test: atest NexusLauncherTests:com.android.launcher3.taskbar.bubbles.BubbleBarSwipeControllerTest
Test: swipe up on stashed handle
Test: tap on stashed handle
Test: enable 3 button nav and tap on bubble bar
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I6bb3c201cd03f05e2be55ebb0c972c577373ea79
2024-09-24 09:56:49 -07:00
Uwais Ashraf
61e6cb27ed Fixes to allow enabling of enable_refactor_task_thumbnail flag
Fix: 362664267
Test: presubmits
Test: Flakiness check run - https://android-build.corp.google.com/builds/abtd/run/L80100030006605258 (shows an acceptably low flake rate)
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I10ef75d6298498ae827de6408ad661fba09cbde5
2024-09-24 15:04:39 +00:00
randypfohl
daf37eeb07 Cleaning up unusued handlers
Test: Built and tested locally

Flag: NONE Removing unused handler references

Bug:292269949

Change-Id: I83ec8299a82ea8f3db0dace7fb3b823a703b6b62
2024-09-20 16:09:52 -07:00
randypfohl
7ed1868d60 Moving RecentsWindowManager away from the singleton pattern
Test: Built and tested locally

Flag: com.android.launcher3.enable_fallback_overview_in_window

Bug:292269949

Change-Id: Ic70d9a3e65ffb86e369f52982891b94bef4cacd7
2024-09-20 16:09:52 -07:00
randypfohl
c50aa8bf31 Limited recents in window introductory cl
Test: Built and tested locally

Flag: com.android.launcher3.enable_fallback_overview_in_window

Bug:292269949

Change-Id: I5352ba0b6c5bc196fbd1322d435a7e27e884f7b5
2024-09-20 16:09:50 -07:00
randypfohl
f29dc7c5ec abstracting fallback views to support container instead of activity
Test: Built and tested locally

Flag: NONE just abstracting in this cl

Bug:292269949

Change-Id: I0ce5efb4f193211216430f373605107c87de2c1a
2024-09-20 10:23:31 -07:00
Anushree Ganjam
f2c65c289b Merge "Make sandboxContext extend LauncherApplication (4/n)" into main 2024-09-19 23:22:56 +00:00
Anushree Ganjam
26a5f65afd Make sandboxContext extend LauncherApplication (4/n)
See
https://docs.google.com/drawings/d/1JHFi_nhmQt2xPT1N3FB_1mnaRK5TVqKZ9-fSl3EA7sU/edit?usp=sharing
and
https://docs.google.com/drawings/d/1bx4WURP4uHZGzZ1bWQgpw701jkTkVqlNfA02Yt-ZtSI/edit?usp=sharing&resourcekey=0-oySjsnaCsOSrNIPqqEa0gw
for design details.

We need to make SandboxContext extend LauncherApplication because we
want create MainThreadInitializedObjects in SandboxContext's
AppComponent scope. Since MainThreadInitiliazedObjects are closed in
SandboxContext's OnDestroy() , we need to replicate same thing using
dagger as well.

- DaggerSingletonObject is same as MainThreadInitializedObject but is
  used for fetching the dagger created singletons so that we can avoid
  major refactors for accessing singletons. This will be deleted soon.

- DaggerSingletonTracker to track dagger created singletons and call
  close() on those singleton objects created in SandboxContext scope.

- Annotate the singleton object SettingsChangeLogger constructor with @Inject and execute the statements in Main thread.
- Added createSandboxContextForTest(only for Test) to avoid creation of
  dagger component in test. As follow up, I will delete this method and
  introduce fakeDaggerComponents in test.

Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration

Change-Id: I2d3762ea64e53baa4de190790568aec750b54201
2024-09-19 11:20:30 -07:00
Helen Cheuk
e58dad0821 Merge "[Contextual Edu] Update Edu stats when going to overview and all apps from home" into main 2024-09-19 14:45:49 +00:00
Liran Binyamin
36b5ef2271 Create BubbleBarFlyoutView
Initial version of the flyout view for displaying bubble bar
notification.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I5d0643fe5d2691ad2349b45eaaad6cd2660d9df0
2024-09-17 11:14:54 -04:00
helencheuk
5012640ab2 [Contextual Edu] Update Edu stats when going to overview and all apps from home
Update education stats when
- go overview and all apps by swiping up at homepage (AbstractStateChangeTouchController)
- go home from all apps by swiping down the all apps panel (AbstractStateChangeTouchController)
- go home from all apps or overview by swiping up from the bottom nav bar (NavBarToHomeTouchController)
- in 3 button navgiation mode (TaskbarNavButtonController)

NavBarToHomeTouchController does not inherit from AbstractStateChangeTouchController so logic are added separately.

Bug: 363480554
Test: TaskbarNavButtonControllerTest
Flag: com.android.systemui.keyboard_touchpad_contextual_education
Change-Id: I0662704a9093b9f5a4d2f086a8297429fbc49881
2024-09-17 16:00:24 +01:00
Treehugger Robot
34b535c76d Merge "Don't wait for thumbnails to update if updatedThumbnails are empty" into main 2024-09-16 12:57:12 +00:00
Alex Chau
8b692c356b Don't wait for thumbnails to update if updatedThumbnails are empty
Fix: 366205521
Test: Double tap recents button in -1 screen
Test: RecentsViewModelTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I3eb854c8068fe70473bde32c5f7706af8d17a3cf
2024-09-16 10:39:23 +01:00
Ats Jenk
61d45eb8d2 Merge changes I3cfdb715,Ic194afdb into main
* changes:
  Fix initial alpha when unstashing bubble bar
  Set additional bubble translation during stash
2024-09-13 22:38:24 +00:00
Ats Jenk
9639315baa Fix initial alpha when unstashing bubble bar
For the stash and unstash animation we use separate timings for the
Bubble views and background. In other animations we animate the entire
bubble bar alpha as one.
To achieve this during unstash animation we set the bubble views and
background alpha to 0. And then set the bar alpha to 1.
Since alpha animation has a delay during unstash, we need to set the
initial values as the start of the entire animation and not just the
alpha part. Otherwise there are flickers in the animation.

We also need to set initial values for the alpha animator that the
AnimatedFloat creates. AnimatedFloat uses the current values as the
start value. If we update it later, the animator was already created and
it won't have an effect. To fix this, we set the start and end values
for the alpha animators created by AnimatedFloat.

Bug: 345488489
Flag: com.android.wm.shell.enable_bubble_bar
Test: slow down animations and unstash bubble bar, check that bubbles
  alpha slowly animates in

Change-Id: I3cfdb715e1703bd2195c809fd77751a216558176
2024-09-13 10:51:11 -07:00
Vinay Joglekar
b3189d8404 Merge "Add keyboard navigation for all large tiles" into main 2024-09-12 09:09:02 +00:00
Treehugger Robot
206e15b286 Merge "Move DesktopVisibilityController to TouchInteractionService" into main 2024-09-12 02:32:00 +00:00
Ats Jenk
aad71bc532 Set additional bubble translation during stash
Fixes bubbles stash translation not getting cleared up after stash
animation finishes.

Bubbles are clipped using an outline animator during the stash
animation. They need separate translation applied to keep them within
the bounds of the bubble bar that is also shrinking and moving.

Set the translation for the bubbles in the stash controller so we can
reset the translation after the animation has finished.

Bug: 365829293
Flag: com.android.wm.shell.enable_bubble_bar
Test: TransientBubbleStashControllerTest
Test: have bubbles in bubble bar, trigger a new auto expanding bubble,
  check translation for bubbles
Change-Id: Ic194afdb4d650fcd525355d8bae08dd651d1ea05
2024-09-11 16:29:22 -07:00
Schneider Victor-Tulias
2b46c945a7 Move DesktopVisibilityController to TouchInteractionService
Moved DesktopVisibilityController to TIS for 3P launcher support.

Flag: EXEMPT bug fix
Fixes: 338063030
Fixes: 357859025
Test: Launched overview and resumed desktop task from desktop mode on 1P and 3P launchers
Change-Id: I64e99a32ed13bcb6e4a81a18c29df2643373dc35
2024-09-11 09:56:35 -07:00
vinayjoglekar
941a9e4f98 Add keyboard navigation for all large tiles
Currently large tiles are excluded from adding into collection which is used for keyboard navigation. This cl adds them if desktop windowing tile is enabled.

Test: TaskGridNavHelperTest
BUG: 361070854
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I63fbb6867c34bbd80df926d750a7a392860b70a0
2024-09-11 16:02:18 +01:00
Ats Jenk
d72a0400eb Merge changes I485f6346,I24b0c646 into main
* changes:
  Animate alpha for bubbles and background (3/n)
  Use a reveal animator for bubble icons (2/n)
2024-09-10 18:03:00 +00:00
Ats Jenk
4ea856ee2d Merge "Align bubble bar stash anim with taskbar (1/n)" into main 2024-09-10 00:45:36 +00:00
Ats Jenk
332828b340 Animate alpha for bubbles and background (3/n)
Use separate timings for bubble icons and bubble bar background when
stashing and unstashing.
Follows alpha timings applied to taskbar background and icons.

Bug: 345488489
Test: TransientBubbleStashControllerTest
Test: stash and unstash bubble bar in app by swiping up from taskbar
Test: expand and collapse bubble bar in app by swiping up on bar
Test: expand and collapse bubble bar on home screen by tapping on it
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I485f6346539cb6c8ea6dd4d15f25a6421021fec1
2024-09-09 15:23:51 -07:00
Ats Jenk
9ca662a7f7 Use a reveal animator for bubble icons (2/n)
Use a similar animation for bubble bar icons as we use for taskbar. When
stashing or unstashing, use a reveal animator to show the icons.
Previously we were scaling the icons to the desired size.
New reveal animator matches what is used for taskbar.

Bug: 345488489
Test: TransientBubbleStashControllerTest
Test: stash and unstash bubble bar in app by swiping up from taskbar
Test: expand and collapse bubble bar in app by swiping up on bar
Test: expand and collapse bubble bar on home screen by tapping on it

Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I24b0c64673d6becfa2ed68993bb95fe78e105670
2024-09-09 15:23:51 -07:00
Ats Jenk
9eadd68e01 Align bubble bar stash anim with taskbar (1/n)
Only scale bubble bar background during stash and unstash animation.
Follows the logic used for taskbar. We scale only the background and
clip the icons separately.

Bug: 345488489
Test: PersistentBubbleStashControllerTest
Test: TransientBubbleStashControllerTest
Test: BubbleBarViewAnimatorTest
Test: stash and unstash bubble bar in app by swiping up from taskbar
Test: expand and collapse bubble bar in app by swiping up on bar
Test: expand and collapse bubble bar on home screen by tapping on it

Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ifc7922c444f2179fc49643424815e5e7dde519cc
2024-09-09 15:23:48 -07:00
Treehugger Robot
9a01a9f584 Merge "Add constant DEFAULT_LPNH_TIMEOUT_MS in client code." into main 2024-09-06 18:08:10 +00:00
Liam Lee Pong Lam
c17b7d4464 Merge "Refactor SettingsChangeLoggerTest imports" into main 2024-09-06 17:38:14 +00:00
Jordan Silva
ad3c422f6c Adds a timeout for OverviewCommandHelper commands (3/3)
We had several bugs in the past months related to recents button not displaying Overview when using 3 button navigation. For some of the bug reports, we noticed the OverviewCommandHelper pending commands list got stuck and stopped processing the next commands in the list. Sometimes, the pending commands list was cleared while some command was being processed, allowing newer commands to be executed while another command is already running. This resulted in the second callback never returning and inconsistent states for OverviewCommandHelper and RecentsView.

Our logs showed OverviewCommandHelper often got stuck and didn't finish the commands correctly.

To mitigate these issues we updated the following behaviors:
- Implemented a timeout to process the commands in the queue. If the callback doesn't return in a given time, it will drop that execution and process the next one in the queue.
- Fix clearPendingCommands to clear only the pending commands from the queue, and not the running command.

Bug: 352046797
Fix: 351122926
Fix: 361768912
Flag: EXEMPT bugfix.
Test: OverviewCommandHelperTest
Change-Id: I47adf0c54dcbaef63d9b72055e000c26114e96e1
2024-09-06 13:58:10 +01:00
Anushree Ganjam
3b5afe2854 Add constant DEFAULT_LPNH_TIMEOUT_MS in client code.
Bug: 364389624
Test: Manual
Flag: NONE Bugfix
Change-Id: I7410227835012e7f608d6619c2e792120c484c26
2024-09-05 14:36:20 -07:00
Liam, Lee Pong Lam
f83a6e8001 Refactor SettingsChangeLoggerTest imports
Bug: 364938368
Test: Unit test
Flag: EXEMPT bugfix
Change-Id: I91e48c1effdb8a0f5252c3f3c6b38407e44fd917
2024-09-05 20:35:39 +00:00
Luca Zuccarini
d75eacf30d 3/3 Move some Shell utils to the Shared package.
Bug: 322791067
Flag: EXEMPT move only
Test: NA
Change-Id: Iabc42e4c1d9c13667e9d91be5789cf295f3332e1
2024-09-02 09:23:34 +00:00
Ats Jenk
ba6c9f06ed Merge "Scale bubble bar to the width of the handle" into main 2024-08-30 23:06:43 +00:00
Schneider Victor-tulias
a4ce092bea Merge "Add a test base for AbsSwipeUpHandler and its subclasses" into main 2024-08-30 20:48:09 +00:00
Ats Jenk
dff855e702 Merge "Update bubble bar stash and unstash animation" into main 2024-08-30 19:30:14 +00:00