Commit Graph

64 Commits

Author SHA1 Message Date
Jordan Silva f048c99de4 Add OverviewDesktop test to verify carousel behavior on swipe up
This CL updates a test to verify the behaviour while swiping up from a fullscreen app to Overview and checking if that TaskView is between DesktopTasks (right side) and Grid Tasks (left side).
The test adds the following validations:
- Launches adjacent task while DesktopTask is at the center of the screen
- Swipe up from a fullscreen app to Overview to validate whether the task is between other tasks and desktop tasks.
- Fling back to DesktopTask to dismiss the adjacent focused task

Fix: 353948167
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Iaa15d4061c3b6ba8fc0d03416b4721cdf3f047c3
2024-11-06 13:58:41 +00:00
Jordan Silva a244c0b70e Fix TAPL OverviewTask to use correct resource to measure height
The background in DesktopTaskView wasn't added for accessibility, so it couldn't be retrieved from the view hierarchy during e2e tests. This view is necessary to calculate the correct size of the DesktopTaskView.

The changes in this cl:
- Add backgroundView to DesktopTaskView's children for accessibility
- Use the correct snapshot resource for desktop mode in OverviewTask

Bug: 353948500
Change-Id: I83746510849e4013d623d49cbaccebd81daba96d
Flag: EXEMPT bugfix
Test: TaplTestsOverviewDesktop
2024-10-28 12:25:25 +00:00
Jordan Silva 7054095b16 Add TAPL test for dismiss DesktopTaskView
This CL adds 2 new E2E Tapl tests for checking dismiss DesktopTaskView.
- dismissFocusedTask_thenDesktopIsCentered validates the following scenarios:
  - Scenario: When Focused Task is in the center of the screen, with 1 other task in the grid and 1 desktop task.
  - When focused task is dismissed, the next task in the grid takes its place to be the next focused task at the center of the screen.
  - When the last focused task is dismissed, the desktop task takes its place at the center of the screen.

- dismissDesktopTask_thenFocusedTaskIsCentred validates the following scenarios:
  - Scenario: When Desktop Task is in the center of the screen, with 1 focused task and 1 task in the grid.
  - When focused task is dismissed, the next task in the grid takes its place, adjacent to desktop task.
  - When desktop task is dismissed, the focused task takes its place at the center of the screen.

Fix: 353948500
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Ie2aa28cd2b30a2bf10e877721416399bcf47acf6
2024-10-28 12:25:25 +00:00
Schneider Victor-Tulias 0a815eae39 Update out-of-date TODO comment
These TODO comments will be adressed by b/342627272, so b/326565120 should be closed.

Flag: EXEMPT comment update
Bug: 326565120
Bug: 342627272
Test: none needed, comment update
Change-Id: I75637e1494a1abba5c542a292a8a1e8881cbedfc
2024-09-17 10:13:16 -04:00
vinayjoglekar 3359fa7f32 Fix talkback in split mode
1. Announce description of both snapshot in GroupedTaskView.
2. Announce them in correct order.

After setting right content description for both the apps in split mode, announcement order was reverse. Seems that order of the node tree which android sees was wrong. Also order did not change even in RTL mode.

see here https://paste.googleplex.com/6492038621298688.

The correct order is manually set using addChildrenForAccessibility in GroupedTaskView. (similarly being used in RecentsView since we use reverse order for overview). Also considered RTL.
See order after fix here
https://paste.googleplex.com/6492038621298688

https://drive.google.com/file/d/1BA1YKkcNsovEu4us9cvq5xOdXviTR1OV/view?usp=drive_link

Other alternatives tried were fixing order using android:accessibilityTraversalAfter and android:accessibilityTraversalBefore, both in layout and programatically which doesn't seem to work.

Test: Manual - Using Node tree debugging of talkback developer options.(Print and filter by tag TreeDebug)
BUG: 330424779
Flag: EXEMPT bugfix
Change-Id: If3c360277bd951d2d2b223bab7844e078e9c7d27
2024-09-03 15:22:30 +01:00
Alex Chau 6d00b4b014 Read task size info from RecentsView directly
- Automatically determine the Overivew component to use the correct RecentsViewContainer
- Also added log on both pre-computed taskSize and newly calculated task size

Bug: 336660988
Test: presubmit
Flag: TEST_ONLY
Change-Id: Ic0adfba35af513e731007241416fc85760135f07
2024-08-20 10:56:52 +01: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
Schneider Victor-tulias abf9f308a5 Remove debug tracing for b/332386996
Flag: N/A
Fixes: 332386996
Test: TaplTestsQuickstep
Change-Id: I0d0aa5d5654dbf391269333eb4808d36f5e645ed
2024-04-22 16:16:42 +00:00
Tony Wickham 86d8386ab6 Merge "Add TaplTestsQuickstep#testExcludeFromRecents" into main 2024-03-19 20:28:58 +00:00
Tony Wickham b84b8524a1 Add TaplTestsQuickstep#testExcludeFromRecents
- Add ExcludeFromRecentsTestActivity, and add it to the manifest
  with excludeFromRecents="true"
- Add the test to check the current Overview task content
  description, ensuring that the excludeFromRecents task is
  present directly after a gesture but not after going home.
Bug: 324495241
Flag: None
Test: TaplTestsQuickstep#testExcludeFromRecents

Change-Id: I06be53673f0ac06924f79b44f19744da066cc7ea
2024-03-18 22:30:13 +00:00
Sukesh Ram 8229228132 Debugging Logs for TaplTestsTransientTaskbar#testSwipeToStashAndUnstash
Add logging for TaplTestsTransientTaskbar#testSwipeToStashAndUnstash.

Flag: NONE
Test: Manually tested in pixel 7.
Bug: 324940434
Change-Id: I7c30fb2f3c94770fa79780d2e7748e931552ba56
2024-03-12 02:17:59 +00:00
Uwais Ashraf 9c2f5a4c62 Remove classes related to E2E testing from deviceless test classpath
Fix: 327187136
Flag: NA
Test: gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Test: presubmits passing
Change-Id: I4f05524bdc55d8473f3b5115cc239eb8cc48a856
2024-03-04 13:45:32 +00:00
Uwais Ashraf 77b97c0729 Replace existing Robolectric test task with functioning one.
This CL does the following:
- Creates a dir for multivalentTests
- Creates symlinks for the dir to keep Android Studio happy
- Moves many files to the multivalentTests dir
- Adjusts gradle and soong build files to use the new dir as part of
their source sets.

Test: ./gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Fix: 316553886
Bug: 316553889
Flag: NA
Change-Id: Iae28fd0c0191b3ecf9bd2950800875950cca2622
2024-01-19 21:39:23 +00:00
Vadim Tryshev 4b3cc96ac2 Waiting for Launcher stop when dropping a widget that starts an activity
This will help to ensure that Launcher state has settled before continuing the test.

Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I810c3bd1da2839a482422396536acd664f3e4b82
2023-12-06 18:46:14 -08:00
Vadim Tryshev caf5958e57 Waiting for Launcher activity to stop when starting an overview task
This will help to ensure that Launcher state has settled before continuing the test.

Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: Ie72853a9d289b2688fdfbdf5220ce86808ac2da1
2023-12-01 16:15:45 -08:00
Alex Chau 9c07fc1350 Re-land "Update Tapl tests for enable_grid_only_overview"
- Fix getCurrentTask() to correctly get the top-right tasks in grid only overview. It'll first get the widest task, and then top, and then rightmost task
- Fix scrollLeftByDistance() to correctly account for leftGestureMargin to make sure it scroll by distance provided
- Fix scrollCurrentTaskOffScreen() to actually scroll the task off screen
- Fix createAndLaunchASplitPair() to use Task menu instead of Overview actions for grid only overview
- Skip testOverviewActions() in grid only overview, where Overview actions isn't available
- Fix testOverivewForTablet to expect the correct task in grid only overview; also disabled part of a test due to an animation bug in Overview
- Fix dismissBySwipingUp() to swipe from bottom of task, which is required to effectively dismiss top row tasks
- Also fixed OverviewTask to correctly get objects in FallbackOverview
- Fix touchOutsideContainer() to calcualte y base on container's middle correctly

Bug: 283246928
Test: presubmit
Flag: None
Change-Id: I77e91dcc1a404ade356b29fba6cf967c534c08f4
2023-11-02 22:37:26 +00:00
Sam Dubey 0552d37f34 Revert "Update Tapl tests for enable_grid_only_overview"
Revert submission 25220083-b/283246928

Reason for revert: b/308930958

Reverted changes: /q/submissionid:25220083-b/283246928

Bug: 283246928
Change-Id: I69ce128061f7ffad213f8f193122b18e5ee9378d
2023-11-02 13:33:55 +00:00
Alex Chau 3029b8314e Update Tapl tests for enable_grid_only_overview
- Add "task" as id for TaskView, and use it instead of "snapshot" when creating OverviewTask, so that for split tasks are caputred as a whole in getCurrentTask and getTasks
- Fix getCurrentTask() to correctly get the top-right tasks in grid only overview. It'll first get the widest task, and then top, and then rightmost task
- Fix scrollLeftByDistance() to correctly account for leftGestureMargin to make sure it scroll by distance provided
- Fix scrollCurrentTaskOffScreen() to actually scroll the task off screen
- Fix createAndLaunchASplitPair() to use Task menu instead of Overview actions for grid only overview
- Skip testOverviewActions() in grid only overview, where Overview actions isn't available
- Fix testOverivewForTablet to expect the correct task in grid only overview; also disabled part of a test due to an animation bug in Overview
- Fix dismissBySwipingUp() to swipe from bottom of task, which is required to effectively dismiss top row tasks
- Also fixed OverviewTask to correctly get objects in FallbackOverview

Bug: 283246928
Test: presubmit
Flag: None
Change-Id: I5dd39b1779ea02738556f921169dbe38aa4cba8c
2023-11-01 22:15:12 +00:00
Jeremy Sim 3303704c70 Fix bug with TAPL tests not recognizing full height/width of split tasks
Previously, OverviewTask was only using one task tile to calculate its visible bounds. In the case of split tasks, this sometimes returned a wrong value.

Fixed by changing getVisibleHeight() to calculate height differently if the task is split.

Bug: 307853547
Test: Tests still pass, upcoming changes (ag/25143701) are unblocked.
Flag: N/A
Change-Id: I78221bafd8069275987c310ab05e0ed9e9cd4aa7
2023-10-26 12:43:15 -07:00
Pat Manning 1695cc724c Create icon app chip menu for overview tasks.
Fix: 257951354
Test: TaplTestsQuickstep
Test: TaplTestsSplitscreen
Flag: ENABLE_OVERVIEW_ICON_MENU
Change-Id: Id8a14b1970ae42bcc74e95419caeaf52ef63638b
2023-10-02 12:51:56 +00:00
Vadim Tryshev 4d3179706a Removing verifying motion events in TAPL
This allows us to simplify GestureScope.

Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I0ca0add5ef41ddd74a8fe3b4ebca10e0f866bf55
2023-09-06 13:08:31 -07:00
Sunny Goyal 8dbdd3d702 Revert "Add hover state border line to overview task item by usi..."
Revert submission 23378417-cherrypick-overview-border-249859410-786docmioso

Reason for revert: flaky implementation

Reverted changes: /q/submissionid:23378417-cherrypick-overview-border-249859410-786docmioso

Change-Id: I6792fc25dbbd80db24df93ebd7a974b0dc0ba5d5
2023-06-01 21:29:13 +00:00
helencheuk 64975ae992 Add hover state border line to overview task item by using the same approach used by keyboard focus state
Reviewed TAPL DD: https://docs.google.com/document/d/1OmCLgTDw3gFOMXjEvH0W1XoAe0n2J5pPdyMcAHtflMA/edit?resourcekey=0-bXle-rOnQqOR_RJBffRybQ
Fix: 249859410
Test: OverviewTaskImageTest

Change-Id: Ic9ce4e9fe90f38a4bf4be6c7deed302a12a3192a
2023-05-30 21:30:14 +01:00
Thales Lima 1f10e53ba2 Create TAPL test for taskbar in overview
Fix: 269985301
Test: TaplTestsQuickstep
Flag: none
Change-Id: Iea0311bcba54882f7f2cf5d35cd98a538ae85855
2023-05-23 13:22:10 +00:00
Jeremy Sim da75737d63 Revert "Revert "Create TAPL test suite for splitscreen""
This reverts commit 313a44039f.

Merging will reenable the TAPL suite TaplTestsSplitscreen.java, which was failing on phones due to a function call that only works on tablets.

Fixed by conditionally running the function only on tablet devices.

Fixes: 271852893
Test: Ran tests locally on phone and tablet.
Change-Id: If3e692924ed9c5ee113872e4f8ff0652890d1280
2023-03-14 15:36:32 -07:00
Vinit Nayak 313a44039f Revert "Create TAPL test suite for splitscreen"
This reverts commit 03815e6c79.

Reason for revert: b/271852893

Change-Id: I165a15b29e41ce1114f6b7d92d22cdd8e0dfb5b0
2023-03-06 23:47:20 +00:00
Jeremy Sim 03815e6c79 Create TAPL test suite for splitscreen
This patch creates a new file, TaplTestsSplitscreen.java, containing one TAPL test sequence.

testSplitAppFromHomeWithItself() tests the user flow of splitting from home using an app that is already running, and then selecting the app itself again as a split target from the Taskbar. The expected result is that Launcher shows an error message gracefully and does not crash.

Fixes: 267554450
Test: Ran test file locally and verified that it passes.
Change-Id: I98a1e3a4143d10a6572175711059b3a77aa5dcd0
2023-03-02 16:35:54 -08:00
Tracy Zhou 8bcac711d3 Fix overview actions tapl test failure
We don't show overview actions when the current task is a split

Fix: 242312408
Test: manual and presubmit and forrest
Change-Id: Idae64b4286d2e3143a8b0a66938802dcf0b9d3af
2022-08-12 11:14:12 -07:00
Tracy Zhou 6a4a229c27 Revert "Revert "Add testSplitFromOverview test (for phones)""
This reverts commit 24df4bffd8.

Reason for revert: resubmit

Change-Id: Iebc66cbce6885e06fe7691c548c1ffe950e936df
2022-08-11 17:59:34 -07:00
TreeHugger Robot 0438ea2293 Merge "Revert "Add testSplitFromOverview test (for phones)"" into tm-qpr-dev 2022-07-29 07:05:34 +00:00
Winson Chung 24df4bffd8 Revert "Add testSplitFromOverview test (for phones)"
This reverts commit 1780cee0fe.

Reason for revert: b/240517487

Change-Id: Id0b690ebba880dd9c978ed42c0f965beb2678b8c
2022-07-29 00:01:17 +00:00
Tracy Zhou f1a523a790 Merge "Add testSplitFromOverview test (for phones)" into tm-qpr-dev 2022-07-28 05:06:40 +00:00
vadimt f6ef879cf4 Moving all sources that are shared between Launcher and TAPL in one directory
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.

Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
2022-07-27 20:18:46 +00:00
Tracy Zhou 1780cee0fe Add testSplitFromOverview test (for phones)
Design doc: go/split_tapl

Bug: 238553914
Fixes: 239082974
Test: run this test
Change-Id: I6b67ede6d62a9fb48222aa4d15fe29ccd1d0fa06
2022-07-27 04:18:50 +00:00
Tracy Zhou 86a844c976 Add splitFromOverviewForTablet test
Design doc: go/split_tapl

Bug: 238553914
Test: run this test

Change-Id: Ibb385d852f73dee10470d14c4962cf482740105d
2022-07-19 01:57:35 +00:00
Schneider Victor-tulias d6279ae641 Update TAPL object hierarchy in preparation for Taskbar TAPL tests
See design at: go/taskbar-tapl-tests

Test: Ran tests remotely
Bug: 215218813
Change-Id: I1c2ceac8954973ea3ae5b2f797fdfb96ba7a6ec4
2022-02-15 13:33:26 -08:00
Pat Manning 1b5975c205 Fix scroll task off screen to support different screen dimensions.
This will fix the breaks on cuttlefish as seen in b/203781041.

Test: TaplTestsQuickstep.java
Bug: 197630182
Change-Id: I3b582a9df1790543c4e1521b45494fb462bb5c1c
2021-10-26 18:08:45 +01:00
Pat Manning ccec1de6ae Add new quickstep test for many tasks open at once.
This test is needed for testing overview-grid-related functionality.
- Opening non-focused tasks
- Dismissing a non-focused task from the grid
- Grid rows rebalancing after dismissal, which only happens when enough
apps are open to be off-screen.
- Grid tasks do not scroll after dismissal.

Test: TaplTestsQuickstep.java
Bug: 197630182
Change-Id: Ic907db4643cdc2eb9e4610dab917347e234e470c
2021-10-20 14:40:32 +01:00
Pat Manning a140a0b611 Add TAPL test that dismissing focused task causes next task to become
focused.

Test: TaplTestsQuickstep.java
Bug: 197630182
Change-Id: I6f29dc6e3954f1b22ce8ffdf0a83db97202caefe
2021-10-05 18:00:11 +00:00
Alex Chau 97cba26a20 Wait for dismiss animation to finish before checking task count
- See http://b/193440212#comment5, TaskView takes time after swipe gesture to finish dismiss animation, so wait for the animation to finish before checking task count

Bug: 193440212
Test: TaplTestsQuickstep#testOverview
Change-Id: I21397e68f384e956a7c9f2ee8a8161ac784b4d2e
2021-07-19 17:34:57 +01:00
vadimt 7bd2a77144 Adding more diags for TAPL actions
Ones that change Launcher state.

Test: presubmit
Bug: 187761685
Change-Id: I11a29956613a4a211d49ee3df6d78e0000b80ced
2021-07-02 21:36:11 +00:00
vadimt a1f0a10662 Removing tracking activity start/stop events
They were not especially useful in investigations; besides, these events
can be sent by the system asynchronously for actions that happened
before entering TAPL, causing flakes.

Change-Id: I72b5aad5521c6c0969f5b657b3db3e4d855f1d64
2020-04-29 14:23:53 -07:00
vadimt bb3f515690 Catching StaleObjectException (and everything else) from get bounds
This will improve diags because fail() adds useful info to the message

Change-Id: I0a27f80c71a900078c94d9dd44d431fc206a37a0
2020-03-31 14:03:00 -07:00
vadimt 0dd1bd1113 TAPL: Verifying activity start/stop events
It also turned out that Pilfer event seems to come in a
non-deterministic order relative to the events from the Main and TIS
sequences. So I moved it to its own sequence.

Change-Id: Ie4ea5865afd900bebbd8287dad2372c94dce8ad5
2020-03-27 10:23:33 -07:00
Vadim Tryshev 3dd64ca3a8 Revert "TAPL: Verifying activity start/stop events"
This reverts commit 1186700c9a.

Reason for revert: Fails in the lab

Change-Id: I6715a058c76d96752b904331968b46a07ce93f85
2020-02-28 22:28:16 +00:00
vadimt 1186700c9a TAPL: Verifying activity start/stop events
It also turned out that Pilfer event seems to come in a
non-deterministic order relative to the events from the Main and TIS
sequences. So I moved it to its own sequence.

Change-Id: I5851aafb6d04398c5727712eaf8561916a30c4c5
2020-02-27 11:12:35 -08:00
vadimt d633c9c7da Verifying events from TouchInteractionService
There is a guaranteed order in which TIS events will be registered
relative to other TIS events. However, relative to the touch events
arriving to the activity, TIS events can come in any order.

Now the event checker verifies 2 independent ordered event sequences:
from TIS, and “the rest” (Main).

Change-Id: I5872e0e3b0b498050a91c67105fbe4a29411375a
2020-02-07 11:46:03 -08:00
vadimt 6098a8c8c0 Adding events checking for Launcher starting apps
Change-Id: Id651397f643280a9f99a470df029479bd1b41e5c
2020-01-23 19:12:19 -08:00
vadimt 9af34a7b13 TAPL: verify input events
This will catch cases, for example, when the platform stops delivering
injected events to Launcher, or injects unexpected events, like Back
Button.

Also optimizing and fixing incorrect behavior of calculating the start
time for the event collection.

Change-Id: I2ba0108e6bfa112f2905a05bcb327b148ec08f77
2020-01-22 14:10:53 -08:00
vadimt 299aaf3a8a TAPL: performing event verification for all gestures
+ missed comments from earlier CLs

Change-Id: Iec84de66a3ff9c2aa59a11566560fa6f169190d0
2020-01-17 12:25:40 -08:00