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
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
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
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
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/6492038621298688https://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
- 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
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
- 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
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
This will help to ensure that Launcher state has settled before continuing the test.
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I810c3bd1da2839a482422396536acd664f3e4b82
This will help to ensure that Launcher state has settled before continuing the test.
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: Ie72853a9d289b2688fdfbdf5220ce86808ac2da1
- 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
- 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
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
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
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
We don't show overview actions when the current task is a split
Fix: 242312408
Test: manual and presubmit and forrest
Change-Id: Idae64b4286d2e3143a8b0a66938802dcf0b9d3af
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
This will fix the breaks on cuttlefish as seen in b/203781041.
Test: TaplTestsQuickstep.java
Bug: 197630182
Change-Id: I3b582a9df1790543c4e1521b45494fb462bb5c1c
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
- 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
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
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
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
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
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