Commit Graph

49 Commits

Author SHA1 Message Date
Randy Pfohl
69092b41f6 Merge changes from topic "windowPrototype" into main
* changes:
  Fixing tests related to abstraction
  Abstracting StatefulActivity from StateManager
2024-06-13 22:11:49 +00:00
Brian Isganitis
1535867fa7 Merge "Test TaskbarAllAppsController non-search behavior." into main 2024-06-13 18:04:12 +00:00
randypfohl
4b40965346 Fixing tests related to abstraction
Flag: NONE - fixing tests

Test: built and ran locally, verified test pass in presubmit

Bug: 224595066

Change-Id: Ifefab1e1696853c5bd816a361314082073ba8a20
2024-06-13 10:26:12 -07:00
Brian Isganitis
e2b79a499d Merge "Add more documentation explaining main thread requirements." into main 2024-06-13 00:02:22 +00:00
Brian Isganitis
e54c1462a3 Test TaskbarAllAppsController non-search behavior.
Flag: TEST_ONLY
Bug: 230027385, 346394798
Test: TaskbarAllAppsControllerTest
Change-Id: Id97e1b82cb8fba48687b5e23222e3bba6695ac4c
2024-06-12 23:59:51 +00:00
Brian Isganitis
e16fc827d3 Add more documentation explaining main thread requirements.
Flag: TEST_ONLY
Test: n/a
Bug: 230027385
Change-Id: Iad38f946c2e75a3372253e57abb4df2f52e62ca5
2024-06-12 16:23:14 -04:00
Brian Isganitis
a76fcaf5b4 Add more tests for {request,hide}Window.
Flag: TEST_ONLY
Fix: 346394585
Test: TaskbarOverlayControllerTests
Change-Id: I59ed58d7f3a4d46bccfb34ef6923f1bf4f5bf2c1
2024-06-12 15:53:33 -04:00
Brian Isganitis
9eaae4b6a4 Initial TaskbarUnitTestRule with example overlay controller tests.
Flag: TEST_ONLY
Bug: 230027385
Test: TaskbarOverlayControllerTest
Change-Id: I858906ece7e67677962ec8b4432bfcca5ec30283
2024-06-11 23:48:13 -04:00
Ats Jenk
cd4c9d153d Add content description to bubble bar and bubbles
Set content description on the bubble bar when it is collapsed. Only
allow focus on the bar itself. In collapsed mode, bubbles in the bar
can't be focused.
Content description for the bar matches what we have in floating mode.
We include the text for the first bubble and then how many bubbles are
there more.

Set content description on bubbles in bubble bar. When bubble bar is
expanded, only the bubbles are focusable.
Bubble content description matches the floating bubbles content
description. Includes the notification title and app name.

Bug: 344670947
Flag: com.android.wm.shell.enable_bubble_bar
Test: enable talkback, focus on bubble bar when it is collapsed, check
  that only bubble bar receives focus
Test: enable talkback and expand bubble bar, check that only the bubbles
  receive focus
Change-Id: Id931f0360b9ebadd01dd16b05b75546fcc4df803
2024-06-05 10:13:22 -07:00
Uwais Ashraf
bad2e24f72 Add snapshot state to TaskThumbnailView and ViewModel
Bug: 334825222
Test: TaskThumbnailViewModelTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I829c346861a6f437b2c53dadb3a7f98084d3c962
2024-05-29 10:47:05 +00:00
Uwais Ashraf
f6f34ca441 Add TasksRepository
Bug: 334825222
Test: TasksRepositoryTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I3e08dea7b205df54f8bef456ead6466aa2ce45c6
2024-05-24 12:06:59 +00:00
Uwais Ashraf
e21d6b15d5 Merge "Fix some compile errors occurring as a result of robo enablement" into main 2024-05-21 21:18:11 +00:00
Uwais Ashraf
784b4f28b0 Fix some compile errors occurring as a result of robo enablement
Fix: 297950111
Test: :NexusLauncher.Robo:testGoogleWithQuickstepDebugUnitTest
Test: atest NexusLauncherRoboTests
Flag: NA
Change-Id: Ic9b09fff630d274558d09b7031d12ec28f10fbc7
2024-05-21 18:56:52 +00:00
Liran Binyamin
56322431ca Fix flake in BubbleBarViewAnimatorTest
The flake was probably happening because the animation end listener
has not finished running on the UI thread. This change waits for
the UI thread to become idle before proceeding.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 341161005
Test: ran BubbleBarViewAnimatorTest#animateToInitialState_inApp 100x
Change-Id: Ide3b0a34095ed01cc179534fa608aecd5d3f3a20
2024-05-21 13:19:34 -04:00
Liran Binyamin
0d8b2206af Merge "Deflake BubbleBarViewAnimatorTest" into main 2024-05-14 16:53:28 +00:00
Liran Binyamin
097261619b Deflake BubbleBarViewAnimatorTest
Fix an issue where we were verifying the status of the animator on the
test thread, which may have been modified on the main thread.

100x runs: https://android-build.corp.google.com/abtd/run/L42700030003806035/

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Fixes: 339437686
Test: abtd link above
Change-Id: I7e0d67e6ca4b2f905ff80f317355d8d5ed0a912b
2024-05-14 00:22:00 +00:00
Liran Binyamin
3fcdc0a39f Merge "Handle touch on bubble bar while animating" into main 2024-05-13 17:30:40 +00:00
Liran Binyamin
6097a29158 Handle touch on bubble bar while animating
This change handles touches on the bubble bar while the bubble bar is animating.
We now update the taskbar touch region during the animation to make the bubble bar touchable.
When the bubble bar is touched during the animation, we now cancel the animation and allow dragging or clicking to expand.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/gtGS6FCrygN5RKueFtPs5E

BubbleBarTest 100x run: https://android-build.corp.google.com/abtd/run/L42600030003675041
Note that in the abtd run above there's a flake but that's for a different test which I'll look into separately.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605790
Bug: 280605846
Bug: 339066271
Fixes: 339244038
Test: See demo
Test: atest BubbleBarViewAnimatorTest
Change-Id: Icb8f4fa46ae4bb8c94ca931193d4a3cc49c5b718
2024-05-13 09:41:23 -04:00
Uwais Ashraf
9533b0fb27 Add corner rounding to TaskThumbnailView
Fix: 334826840
Test: TaskThumbnailViewModelTest
Flag: ACONFIG com.android.launcher3.enable_refactor_task_thumbnail DEVELOPMENT
Change-Id: Iba4d49d43abc09363f61186c3fcc07f2281b7006
2024-05-08 14:45:44 +00:00
Liran Binyamin
aa73f595cf Animate the bubble bar for the first bubble
This change animates the bubble bar for the first bubble.
When we're in home -- the bubble bar bounces in and stays visible
When we're in app -- the bubble bar bounces in, then animates to
the stashed handle.
When the bubble bar auto expands, we currently animate the bubble
bar already expanded. In the future we'll time the expansion
until after the bubble bar settles in.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/hIGwtb3YKyCT9Ke9adZNgY

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 339066271
Test: atest BubbleBarViewAnimatorTest
Change-Id: I80ce55676b72a50bab23623e0b5c1e602690682f
2024-05-06 20:17:28 -04:00
Liran Binyamin
b4b5e79ffe Merge "Interrupt bubble animation on stash change" into main 2024-05-06 16:06:55 +00:00
Liran Binyamin
209c764175 Interrupt bubble animation on stash change
This change handles cancelling the currently running bubble animation when the stash state is changing.

Demo - http://recall/-/bJtug1HhvXkkeA4MQvIaiP/4jnBgnFaIPez6m7fVLSlf

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I34628f8ad741228dd21285ad66e45ef2909fbdab
2024-05-06 09:55:34 -04:00
Liran Binyamin
841411d122 Give bubble team owners on the correct launcher bubble dirs
Whoops.

Flag: N/A
Test: treehugger
Bug: none
Change-Id: I25df1a161d94bd1acac976bc61217a59b3657074
2024-05-02 15:33:16 -04:00
Liran Binyamin
85c50adb91 Merge "Animate the bubble bar to show new bubble" into main 2024-04-30 14:01:09 +00:00
Treehugger Robot
43f65905ab Merge "Replace Contextual Rotation Button with Floating Action Button" into main 2024-04-30 05:34:35 +00:00
Sukesh Ram
1187fd817e Replace Contextual Rotation Button with Floating Action Button
When foldable is in 3 button, the rotation button is covered by the device’s camera cutout upon rotation.

This CL replaces Contextual Rotation Button with Floating Action Button for taskbar and navbar.

Flag: NONE
Test: Manually tested on Felix & panther.
Bug: 324070001
Change-Id: I8bd9acdeec8ade4c8183c42056bf67b1c825906c
2024-04-29 22:44:00 +00:00
Liran Binyamin
29a3e5d676 Animate the bubble bar to show new bubble
This change updates that animation that plays when a new bubble notification is received. We now animate the entire bubble bar rather than the individual bubble.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dwbsZJZlqLwJ2IG7RfJZ7c

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I2dc58ad61b880d76c9eefa462c3aee4e8bbb3584
2024-04-26 20:50:43 -04:00
Liran Binyamin
b8cf10a409 Merge "Handle taps on the animating bubble" into main 2024-04-25 22:56:32 +00:00
Brian Isganitis
79d0569d49 Remove nav button controller dependency on TIS.
This refactor will make it easier to initialize TaskbarManager in a test
environment. Se go/taskbar-controller-tests for context.

Test: TaskbarNavButtonControllerTest
Bug: 230027385
Flag: N/A
Change-Id: I157649ff93b5e1751e6774e2cba2f76750792292
2024-04-24 18:17:00 -04:00
Uwais Ashraf
e21525da40 Add a refactored TaskThumbnailView
- Live Tile, swipe (left+right) and dismiss working
- Tests of ViewModel state transitions
- Deprecate the old TaskThumbnailView
- Renaming TaskThumbnailView to TaskThumbnailViewDeprecated

Fix: 335440878
Fix: 331754672
Bug: 331753115
Test: TaskThumbnailViewModelTest
Test: Attached video on bug
Flag: ACONFIG com.android.launcher3.enable_refactor_task_thumbnail DEVELOPMENT
Change-Id: I063b957fe6e56960970dcaadc641848fbd73251c
2024-04-23 23:05:14 +01:00
Sunny Goyal
10fa016352 Fixing MainThreadInitializedObject
> Making SafeCloseable implementation mandatory, to prevent leaks during test and preview
> Removing getNoCreate method and defining executeIfCreated to avoid null pointer exceptions
> Fixing sandbox value leaking into main, by Checking sandbox against App context
> Converting sanbox to an interface instead a class

Bug: 335280439
Test: Presubmit
Flag: None
Change-Id: I951dcde871898e745ff6490a1c4f8fd1512888f5
2024-04-22 17:04:33 -07:00
Liran Binyamin
a87abece5a Handle taps on the animating bubble
Make the animating bubble touchable and expand the bubble bar when tapping on it.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/c4wBVtrT5YIgxL5kVuuoDU

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I09281c2ebc9921750ada42dfc27e95d1ad0bd83b
2024-04-18 13:52:22 -04:00
Liran Binyamin
a7d2658d96 Merge "Update new bubble animation" into main 2024-04-18 15:51:39 +00:00
Randy Pfohl
819b835519 Revert "Revert "abtracting Activity from recentsView through rec..."
Revert submission 26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ

Reason for revert: Fix for issue has been found and will be included in this revert.

Reverted changes: /q/submissionid:26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ

Change-Id: I517e7d2fc0d82d250a6ed40862dd31c194d0a302
2024-04-11 08:58:08 -07:00
Liran Binyamin
e79120af38 Update new bubble animation
This change is a rewrite of the new bubble animation. Previously we chained the handle animation and the bubble animation so that they run sequentially.
That caused the transition from the handle to the bubble to be jarring.

We now use a single spring animation along the y axis that starts from the position of the handle to the position of where the bubble will end up.
The animation is split into 3 logical parts, where initially the bubble animates out, then the bubble starts animating in, and the last part is the overshoot of the spring animation, which is used to mark the bubble fully visible and ensure that from that point on, the bubble is only moving but doesn't change in scale or transparency as the bounce effect is playing.
Using a single animation path allows for a smooth transition from the handle to the bubble view.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/hHNUBdNJPiWi9gMbqy45UJ

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: Ic1d3244574b8500d4aad2e9c718e61c1c34bd82a
2024-04-11 11:51:10 -04:00
Priyanka Advani
3c71346147 Revert "abtracting Activity from recentsView through recentsview..."
Revert submission 26414135-RecentsViewContainer

Reason for revert: Probable culprit for b/333767026. Will be verifying through ABTD for confirmation and before submitting the revert.

Reverted changes: /q/submissionid:26414135-RecentsViewContainer

Change-Id: I25775cd6531355f1dc042ddb7a8d442ee0b36e58
2024-04-10 21:31:07 +00:00
randypfohl
547d6fc472 abtracting Activity from recentsView through recentsviewcontainer and basecontainerinterface interfaces
This change will let us move from activity to other parent views for recent views.

Summary: In prep for new recentsview containers outside of activity we needed to decouple recentsview from activity and state.
This change will let us move from activity to other parent views for recent views.

Test: Built and tested locally for 1p and 3p launchers on tablet, and portrait modes. Verified working functionality.

Bug: 292269949

Flag: NONE

Change-Id: I5c72745f438d466362ece988c35a97d829e9c1b4
2024-04-10 09:14:28 -07:00
Uwais Ashraf
7a0150d02e Use script to auto-enable all tests that are currently working
Fix: 325088906
Test: presubmits passing, gradle robo run passing locally
Flag: NA
Change-Id: I481bfe9caeb8cc18b3e01ec8b7a58fb0eb36fdaa
2024-04-08 20:59:23 +00:00
Liran Binyamin
98bbc2b46d Merge "Animate the stash handle for new bubbles" into main 2024-04-05 00:49:39 +00:00
Liran Binyamin
597ced3033 Animate the stash handle for new bubbles
The stash handle now animates out before the new bubble animates in, and animates back in after the new bubble is hidden.
There's still some additional polish needed :)

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/z30Ob1rcDUkNEphLAQsgV

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I03449286b01ec96de9834e24a707652ddbe49fb0
2024-04-04 14:26:08 -04:00
Eghosa Ewansiha-Vlachavas
43b731801b Fix launcher activity leaking when desktop windowing enabled
When desktop windowing is enabled we initiate the
`SplitFromDesktopController` within the `SplitSelectStateController`
which registers a `SplitSelectListener` on the launcher instance.
However when we destroy the `SplitSelectStateController` the
`SplitFromDesktopController` is not destroyed an thus any listeners are
not unregisterd. Instead we should explicitly destroy the
`SplitFromDesktopController` by unregistering listener.

Flag: NONE
Fixes: 332667403
Bug: 331774319
Test: atest -c NexusLauncherTests:com.android.quickstep.TaplStartLauncherViaGestureTests
atest -c NexusLauncherTests:com.android.quickstep.util.SplitSelectStateControllerTest

Change-Id: I68ffcc4114644e75f751632eca8bc73e406139a8
2024-04-03 22:04:06 +00:00
Liran Binyamin
074a3a66b0 Initial animation of new bubble bar bubble
This change animates a new bubble bar bubble. Currently only handles the case where the bubble is added when the bubble bar is stashed.
There's no synchronization with the stash handle yet either.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605790
Test: atest BubbleBarViewAnimatorTest
Change-Id: Ic3f5edc0dde204f871cf7e1288bd50620e6beebb
2024-03-28 11:30:56 -04:00
Gina Ko
5b845d2831 Reapply "Support toggling Taskbar All Apps with 3P Launcher." am: 036a83cd99
The revert was not supposed to be auto-merged.

This reverts commit 5a3bf93d82, reversing
changes made to 84f8002586.

Bug: 331384026
Change-Id: Ieb11a8544db90259aae856c4af805c37ce9e68cc
2024-03-26 15:03:31 -07:00
Liana Kazanova
5a3bf93d82 Revert "Support toggling Taskbar All Apps with 3P Launcher." am: 036a83cd99
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/26720630

Change-Id: I235f6d6263be6e39a583ac7b1a0783bfc77533c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-26 20:57:12 +00:00
Liana Kazanova
036a83cd99 Revert "Support toggling Taskbar All Apps with 3P Launcher."
This reverts commit 176f186a6d.

Reason for revert: DroidMonitor: Potential culprit for http://b/331438065 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: Ie375277ad2f65199749f0211ab50037d4b37e664
Merged-In: Ie375277ad2f65199749f0211ab50037d4b37e664
2024-03-26 20:34:09 +00:00
Brian Isganitis
176f186a6d Support toggling Taskbar All Apps with 3P Launcher.
Taskbar All Apps exists regardless of the default launcher. Thus, we can
toggle it on large screen devices. This CL ties registering the system
action to default launcher and taskbar's enablement.

Test: adb shell input keyevent 117
Test: AllAppsActionManagerTest
Flag: LEGACY ENABLE_ALL_APPS_SEARCH_IN_TASKBAR ENABLED
Fix: 317259709
Change-Id: I26f0ed9e921beac762f3f9e6aaceb1002ad4801a
(cherry picked from commit c113b277e6)
2024-03-26 01:16:39 +00:00
Brian Isganitis
c113b277e6 Support toggling Taskbar All Apps with 3P Launcher.
Taskbar All Apps exists regardless of the default launcher. Thus, we can
toggle it on large screen devices. This CL ties registering the system
action to default launcher and taskbar's enablement.

Test: adb shell input keyevent 117
Test: AllAppsActionManagerTest
Flag: LEGACY ENABLE_ALL_APPS_SEARCH_IN_TASKBAR ENABLED
Fix: 317259709
Change-Id: I26f0ed9e921beac762f3f9e6aaceb1002ad4801a
2024-03-15 13:42:10 -04:00
Uwais Ashraf
4ee1701fd1 Enable tests which do not require any modification
Fix: 329052420
Flag: NA
Test: Presubmits + :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Change-Id: I27e847c923076e4e978fd7359c9c62745d4f5f0a
2024-03-13 12:27:46 +00:00
Uwais Ashraf
45cd460cef Add required setup for quickstep tests to be run devicelessly
Fix: 325090628
Flag: NA
Test: gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest NexusLauncherRoboTests
Test: presubmits passing
Change-Id: I9ef80d4bf03e9bdb6c23d776df621a32248e6b0d
2024-03-06 14:01:21 +00:00