Commit Graph

147 Commits

Author SHA1 Message Date
Brian Isganitis bdc5dd5c86 Merge "Run Taskbar controller tests on VirtualDisplay." into main 2024-10-11 21:03:12 +00:00
Brian Isganitis 066f5adcf6 Run Taskbar controller tests on VirtualDisplay.
Flag: TEST_ONLY
Test: go/testedequals
Bug: 369641781
Change-Id: Id53f420e7edc1779da9eb7647644ffffb74e67b3
2024-10-10 19:13:40 +00:00
Ats Jenk d137856e26 Merge "Update bubble bar swipe logic" into main 2024-10-09 21:32:43 +00:00
Ats Jenk 6570ac750f Update bubble bar swipe logic
After changes following swipe interactions are available for the bubble
bar:
1. stashed handle
- swipe up to show bubble bar, after swipe reaches unstash threshold, we
  show the bubble bar
- swipe down to stash bubble bar in the same gesture (without lifting
  finger), do this when swipe moves back below unstash threshold
- expand bubble bar on finger lifted when currently above unstash
  threshold

2. collapsed bubble bar (used in home or overview)
- swipe up and release over unstash threshold to expand bubble bar
- bubble bar can't be swiped down to stash it

3. expanded bubble bar
- no swipe interactions available

Bug: 371229061
Flag: com.android.wm.shell.enable_bubble_bar
Test: BubbleBarSwipeControllerTest
Test: manually test:
  - stashed bubble bar:
      - swipe up and back down => bubble bar shown and stashed
      - swipe up slightly and release => bubble bar not shown
      - swipe up and release => bubble bar shown, expands on release
  - collapsed bubble bar:
      - swipe down => no action
      - swipe up slightly => no action
      - swipe up and release => bar expands on release
Change-Id: I42aa59dc288446603e06a3d02419be38cf17fa1f
2024-10-08 16:17:32 -07:00
Brian Isganitis 46b20441e4 Migrate Taskbar tests to use SandboxApplication.
This class has even better sandboxing and is a TestRule, making it easy to tear down singletons.

Flag: TEST_ONLY
Fix: 369504330
Test: go/testedequals
Change-Id: I86fbfecc275da536ab745d61bef8b9bebb28379c
2024-10-08 16:34:44 +00:00
Liran Binyamin 9c3c7cc3e2 Merge "Store the flyout in BubbleBarBubble" into main 2024-10-08 13:31:53 +00:00
Ats Jenk ea6e59537e Merge changes I74af6a72,I603a67a8 into main
* changes:
  Animate bubble bar alpha when notif shade opens
  Set bubble bar invisible while stashed
2024-10-07 22:23:02 +00:00
Liran Binyamin 5e04f0960d Store the flyout in BubbleBarBubble
Extracts the flyout message from the bundle and stores it in
BubbleBarBubble.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully -- code is not wired up yet
Change-Id: I5e810290991b4ee638f43add4d6a6514edb167af
2024-10-07 16:57:08 -04:00
Liran Binyamin 9b093db2f8 Merge "Rename bubble bar flyout fields" into main 2024-10-07 18:27:14 +00:00
Liran Binyamin f44690bd69 Merge "Pass bubble flyout from wm shell to launcher" into main 2024-10-07 16:22:13 +00:00
Ats Jenk df819b6145 Merge changes Iccb870b0,Ibea2dbe0 into main
* changes:
  Inject bubble controllers directly
  Allow injecting bubble controllers in taskbar test
2024-10-07 16:12:41 +00:00
Liran Binyamin 75675e123d Rename bubble bar flyout fields
Long term we'd like to use bubbles for any app, so this change
uses more general names instead of the chat-specific naming

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: built and tested on a device
Change-Id: Idec2aa7d9a8df5df0df49231e8871298084f8aa1
2024-10-07 10:37:55 -04:00
Ats Jenk 2166749190 Set bubble bar invisible while stashed
Update bubble bar visibility when it is stashed.
Ensures that if alpha is updated, it won't show up.

Bug: 345687278
Test: TransientBubbleStashController
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I603a67a824a5cee0fb35de7c3f2dc98d9d2323ed
2024-10-03 15:33:38 -07:00
Ats Jenk 35b87d33b2 Inject bubble controllers directly
Replace injecting bubble controllers class with each controller
separately.c

Bug: 371017282
Test: TaskbarStashControllerTest
Flag: TEST_ONLY
Change-Id: Iccb870b0976b51fcd5a987cf208531da413921d1
2024-10-03 10:09:30 -07:00
Mady Mellor 2aedf52b8f Merge "If we're going to overview we might need to unstash" into main 2024-10-03 16:12:09 +00:00
Ats Jenk 936fec94bd Allow injecting bubble controllers in taskbar test
Update TaskbarUnitTestRule @InjectController annotation to support
injecting bubble controllers.
Bubble controllers are optional and only initialized if the feature flag
is enabled.
Add a test to check that bubble controllers are only initialized when
the flag is on.

Bug: 371017282
Test: TaskbarUnitTestRuleTest
Flag: TEST_ONLY
Change-Id: Ibea2dbe0db854d530ef93ac53204a361572fa5b2
2024-10-02 15:56:08 -07:00
Liran Binyamin d8c3328d4d Pass bubble flyout from wm shell to launcher
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarViewAnimatorTest
Change-Id: I8666765937a491903c6fc042d2d629374be4c70d
2024-10-02 12:27:52 -04:00
Liran Binyamin 1663bb3004 Merge "Bubble bar flyout polish" into main 2024-10-02 16:15:53 +00:00
Ats Jenk da477af93d Fix comment in TransientBubbleStashControllerTest
Bug: 345488489
Change-Id: Ide38c1e36a0da53e9fcc7a5c6b0c3241eff24add
Test: na
Flag: DOCS_ONLY
2024-10-01 21:06:02 +00:00
Mady Mellor fd6772ab84 If we're going to overview we might need to unstash
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest NexusLauncherTests:PersistentBubbleStashControllerTest
Test: atest NexusLauncherTests:TransientBubbleStashControllerTest
Test: manual - swipe up to overview from home & from in an app, ensure
               bubble bar is unstashed
             - switch between home / overview / in app in transient
               and persistent taskbar to make sure things work
Bug: 368364143
Change-Id: I34c22b000d1fcc75489ea6da497f14def9649a20
2024-10-01 11:57:26 -07:00
Ats Jenk da8487eb33 Merge "Update bubble stash test for transient taskbar" into main 2024-10-01 18:53:36 +00:00
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
Ats Jenk 5464ce0084 Update bubble stash test for transient taskbar
Include unit test to check that view properties are set to expected
values at the end of an unstash animation.
Add tests to check that alpha for bubbles and background changes
separately during unstash and stash animations.

Bug: 345488489
Test: TransientBubbleStashControllerTest
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ifd10d4524128d42d23fe67c0eff2c4ae16d3b27b
2024-09-30 15:43:15 -07:00
Liran Binyamin 74299edbc6 Merge "Update flyout content during animation" into main 2024-09-30 16:54:15 +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
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
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
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
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
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
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
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
Ats Jenk dff855e702 Merge "Update bubble bar stash and unstash animation" into main 2024-08-30 19:30:14 +00:00