Commit Graph

77 Commits

Author SHA1 Message Date
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 533e1d2753 Revert "Add debug logs to BaseOverview#isActionsViewVisible"
This reverts commit 11eaec69f4.

Reason for revert: debug logs no longer needed

Change-Id: If0b2f33c63c86483e4d28df79086e80103fdb001
2024-07-30 14:44:46 +00:00
Schneider Victor-tulias 11eaec69f4 Add debug logs to BaseOverview#isActionsViewVisible
Flag: NONE debug logs
Bug: 336660988
Test: TaplTestsQuickstep#testQuickSwitchFromHome
Change-Id: If241cd732cfce83d4799895f5e43048d775d72ed
2024-06-12 15:43:16 +00:00
Jeremy Sim c1470021c8 Fix flaky test
Attempts to fix a flaky test by ensuring that recents is always cleared before creating a split pair (so the split pair under test is always the same).

Bug: 340935208
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair(), testSplitTaskTapBothIconMenus()
Flag: TEST_ONLY
Change-Id: Ibc81b90fac531f0e78e93a494ff59073ab5e52cf
2024-06-10 14:51:53 -07:00
Jeremy Sim 1ab32a7942 Address jank and memory issues with OverviewActionsView
Attempt to improve jank and memory regressions by simplifying the view layout of OverviewActionsView.

Bug: 339688091
Bug: 339853741
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair()
Flag: EXEMPT bugfix
Change-Id: Ib4a7c5a813b221c0a083144e7fb1e1c5f3fedb1c
2024-05-28 13:16:52 -07:00
Jeremy Sim 41eadd1a91 Fix bug with double-relayout of Overview Actions View
This CL refactors Overview Actions View so that a separate view, R.id.group_action_buttons, is used for buttons related to grouped tasks. This also changes the way visibility is handled with actions buttons -- instead of all buttons living on one bar and being toggled on and off, sometimes the whole bar is toggled on and off (to change from single task actions to group actions and vice versa).

This prevents the same view from having its visibility changed twice in in one layout and causing the wrong visibility to be rendered.

Fixes: 333844287
Test: Manual
Flag: ACONFIG com.android.wm.shell.enable_app_pairs NEXTFOOD
Change-Id: I1b6be4637ac8c8d424e7633c437fca376ecdd757
2024-05-07 11:18:24 -07:00
Alex Chau 7d0edb46ac Reland "Update Split button visibility based on DeviceProfile change"
This reverts commit 38bc885de9.

- Always request layout of action_buttons after changing visibility of its children
- Update Split button visibility based on DeviceProfile change in updateDimension() only
- Update Split button visibility based on 3P launcher in initialization only
- Also simplified action_buttons to wrap_content and layout in middle of parent
- Also removed the space between buttons and use marginStart
- Fixed TAPL to not expect save app pair button on phone. Before this CL actions_buttons are still on view hierarchy despite they're not visible on screen.

Fix: 321291049
Fix: 329255757
Test: Clear all tasks, fold, launch app, swipe up to Overivew; repeat in RTL
Test: OverviewImageTest
Flag: None
Change-Id: I9ecf872279f6f07d2d9bc33fb09031568023cb77
2024-04-04 11:58:35 +01:00
Anushree Ganjam 461038d5d5 Remove expecting DOWN events in TAPL tests.
ACTION_UP is always preceded by ACTION_DOWN which means when launcher
receives an UP events, down event is obviously sent.

In b/325377690 , we started seeing only in P9 devices the DOWN events didn't reach TAPL. I added InputDispatcher logs which shows both DOWN and UP events are sent by system_server to NexusLauncher.
However TAPL doesn't receive it. After spending lot of time debugging this, I think we are safe to remove DOWN event expectation in TAPL.

Bug: 325377690
Test: Manual, TAPL presubmits
Flag: NA
Change-Id: I6d3587c488d45e3dc53d2c1c4f3b6b49285eae94
2024-03-07 12:31:38 -08:00
Vinit Nayak 91b06fb4ac Revert "Revert "Implements the "Save App Pair" button in Overvie..."
Revert submission 26420318-revert-26391074-save-app-pair-button-ZKCRCDSCSN

Reason for revert: Test failure in question wasn't related to this topic b/328016248

Reverted changes: /q/submissionid:26420318-revert-26391074-save-app-pair-button-ZKCRCDSCSN

Change-Id: I2a4dbb83720768a9d29a4371c77e3b9410ab2fea
2024-03-04 12:26:23 -08: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 65b735beeb Merge "Waiting for Normal state when closing Overview by touching outside of first task" into main 2024-01-11 19:40:57 +00:00
Vadim Tryshev 62cc718bcd Waiting for Normal state when closing Overview by touching outside of first task
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I99f54beaf94cb138eb7643e5652b88e846e81f3f
2024-01-09 14:24:15 -08:00
Vadim Tryshev 26be37622c Waiting for Normal state when closing Overview by touch
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: Ic1ac5b3db012d1d8235d641a3f6db8a9506f777d
2024-01-09 14:15:50 -08:00
Vadim Tryshev 132e6a64c9 Merge "Waiting for the state to settle after clear-all-tasks action" into main 2024-01-09 18:33:44 +00:00
Jordan Silva 9878a7206e Add ESCAPE key to dismiss Overview
This CL adds the functionality of escape key to Overview. It dismisses Overview when the esc key is pressed.
When Overview is showing a Modal Task, it will return to Overview state instead of the Normal state.

Fix: 315283507
Flag: N/A
Test: TaplTestsQuickstep
Change-Id: I02e02f623d9a4aad1c2d6188fdea4e3fc4f96d64
2024-01-04 09:08:44 -03:00
Vadim Tryshev b4ff22754a Waiting for the state to settle after clear-all-tasks action
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: Idbbf48d5814fa457b3542ff972bfb86d31f04377
2023-12-31 18:36:20 -08:00
Greg Kaiser 45ba84268c Revert "App Pairs: Implement Overview Actions View button"
Revert submission 25143701-app-pairs-action-button

Reason for revert: Causes P0 b/315292030

Reverted changes: /q/submissionid:25143701-app-pairs-action-button

Change-Id: I1fcbb9f333ca29c5db255232dc9475dec465ac81
2023-12-18 14:53:19 +00:00
Jeremy Sim e1fcb5390b App Pairs: Implement Overview Actions View button
[App Pairs 6/?]

This patch includes:
- Ability to "save app pair" from Overview Actions
- The actions bar is not longer hidden for GroupedTasks; instead the individual buttons for "Select", "Screenshot", and "Split screen" are toggled off and "Save app pair" is toggled on.

Note: This patch introduces a slight regression (b/315545418) where users are now able to long-press to select text on task 1 of a paired GroupedTaskView (previously we did not let them select text on either task for consistency.) Will follow up with a fix -- see bug for details.

Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Bug: 315545418
Bug: 315292030
Test: Manual, all action buttons still work and "Save app pair" appears and disappears correctly
Change-Id: I0eb1fa9520ba14074ede3480e771b340cf2f6e2c
2023-12-18 02:25:22 +00:00
Tony Wickham d546564f3e Change TAPL to swipe to stash taskbar (instead of deprecated long press)
This also means Taskbar is transient by default in automated tests,
instead of persistent. Updated some checks accordingly.

Flag: LEGACY ENABLE_TRANSIENT_TASKBAR ENABLED
Test: TaskbarExpandCollapse#hideShowTaskbar; TaplTestsTaskbar;
TaplTestsTransientTaskbar; TaplTestsPersistentTaskbar
Bug: 270395798

Change-Id: Ie7b8fcedb94e33742b7bf18cb829dab55af74b7d
2023-12-05 20:38:41 +00:00
Satish Yalla de82f8f44f Revert "Change TAPL to swipe to stash taskbar (instead of deprec..."
Revert submission 25532044-tapl-transient-taskbar-default

Reason for revert: <test revert (b/314873201)>

Reverted changes: /q/submissionid:25532044-tapl-transient-taskbar-default

Change-Id: I51e78699f588a8fe8506c96398de921448e0ab6a
2023-12-05 06:48:25 +00:00
Tony Wickham e1f770df2f Change TAPL to swipe to stash taskbar (instead of deprecated long press)
This also means Taskbar is transient by default in automated tests,
instead of persistent. Updated some checks accordingly.

Flag: LEGACY ENABLE_TRANSIENT_TASKBAR ENABLED
Test: TaskbarExpandCollapse#hideShowTaskbar; TaplTestsTaskbar;
TaplTestsTransientTaskbar; TaplTestsPersistentTaskbar
Bug: 270395798

Change-Id: I48b4c809025a9bab0a37ada1317adee823b1a8f9
2023-11-20 23:41:01 +00:00
Alex Chau 940fbe1e2d Merge "Avoid instantiating unnecessary OverviewTask in getCurrentTask loop" into main 2023-11-20 18:28:40 +00:00
Alex Chau 7d237cd83a Avoid instantiating unnecessary OverviewTask in getCurrentTask loop
- Replaced with moving each size getting methods to a lambda in getCurrentTask

Bug: 309820115
Test: presubmit
Flag: None
Change-Id: Ic625e30bd42f4289bbb1768c2ceeb95e98f51a15
2023-11-20 13:13:44 +00:00
Sergey Pinkevich ead5259f9a Show split screen action for each task
Remove previous condition:
1. `taskView.containsMultipleTasks()` - there is already a check to filter out "Split screen" item: https://googleplex-android.googlesource.com/platform/packages/apps/Launcher3/+/refs/heads/main/quickstep/src/com/android/quickstep/TaskOverlayFactory.java#68

Edit previous condition:
2. `notEnoughTasksToSplit` - condition saying if there is less than 2 recent tasks. We still should give the possibility to split the screen if Taskbar is not presented

Bug: 305958994
Flag: NONE
Test: manual - took a photo (https://screenshot.googleplex.com/7doU5z9AjxxETUo)

Change-Id: I3fdfea987c426d557a91b0a25af368069e8af3f8
2023-11-15 15:14:50 +00:00
Priyanka Advani ebc9a3b5e1 Merge "Revert "Change TAPL to swipe to stash taskbar (instead of deprec..."" into main 2023-11-03 22:10:27 +00:00
Priyanka Advani 9aed56096c Revert "Change TAPL to swipe to stash taskbar (instead of deprec..."
Revert submission 24877128-cherrypick-tapl-transient-swipe-owubvwrsw6i

Reason for revert: Likely culprit for b/309158105

Reverted changes: /q/submissionid:24877128-cherrypick-tapl-transient-swipe-owubvwrsw6i

Change-Id: I8ee560f7e599bcfde09eff53f049309ba25ce77f
2023-11-03 21:31:45 +00:00
Tony Wickham 075a67da15 Merge "Change TAPL to swipe to stash taskbar (instead of deprecated long press)" into main 2023-11-03 18:35:54 +00: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
Tony Wickham eccf070bae Change TAPL to swipe to stash taskbar (instead of deprecated long press)
This also means Taskbar is transient by default in automated tests,
instead of persistent. Updated some checks accordingly.

Flag: LEGACY ENABLE_TRANSIENT_TASKBAR ENABLED
Test: TaskbarExpandCollapse#hideShowTaskbar; TaplTestsTaskbar;
TaplTestsTransientTaskbar; TaplTestsPersistentTaskbar
Bug: 270395798

Change-Id: Ib6e592a31a55a912a7ea991a421a9c60bca51c80
2023-11-01 23:16:10 +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 dc90a46e77 Skips checking for overview actions when grid only overview flag is enabled.
Fix: 296060682
Test: TaplTestsQuickstep
Flag: ENABLE_GRID_ONLY_OVERVIEW
Change-Id: If8ef23767350dbbcf80294abf6b93eebe57d3487
2023-08-15 16:55:23 +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
Saumya Prakash 12731af30d Removed disabled overview actions at end of scroll
Updated visibility of the overview action bar so that when viewing
the clear all button at the end of the tasks it becomes hidden.
Previously, the overview actions were disabled so they were not
usable anyways. Updated the corresponding tests because expected
behavior was changed.

Test: Manual
Fix: 230508197
Change-Id: I64c91c682009808690d696032ffadefc86dfbac9
2022-11-01 21:49:19 +00:00
Saumya Prakash 19250d69f7 Revert "Removed disabled overview actions at end of scroll"
This reverts commit 96cad794d7.

Reason for revert: Breaks build test_suites_x86_64_coverage (linux) build 9222442 in git_tm-qpr-dev. 

Change-Id: I482f526da169505cf5d3f42ef999303dcc162a1f
2022-10-26 20:59:30 +00:00
Saumya Prakash 96cad794d7 Removed disabled overview actions at end of scroll
Updated visibility of the overview action bar so that when viewing
the clear all button at the end of the tasks it becomes hidden.
Previously, the overview actions were disabled so they were not
usable anyways. Updated the corresponding tests because expected
behavior was changed.

Test: Manual
Fix: 230508197
Change-Id: I17628f1fa3869b575ec404a2a630a6927e3c1d14
2022-10-24 22:47:24 +00: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
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 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
Pat Manning ee01176810 Fix launcher scroll distance for TAPL tests.
Test is passing correctly but for the wrong reasons. If we attempted to use a different distance it would have failed.

Bug: 197630182
Test: manual
Change-Id: Ib275b89c86cdb9f75d40b9d25c8c498098b543b7
2021-12-22 09:55:53 +00:00
Pat Manning 4433db800c Fix tapl tests for overview actions in fallback recents.
Note: fallback recents test may still fail manual testing if using flag SEPARATE_RECENTS_ACTIVITY

Test: FallbackRecentsTest.java
Bug: 197630182
Change-Id: Id18184e1f6271337adceacc9bac583d84e83afed
2021-11-25 15:39:47 +00: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
Alex Chau 3220e9521f Avoid scrolling within edgeSensitivityWidth in overview tests
Fix: 202155383
Test: TaplTestsQuickstep.testOverviewActions with 1 task in overview
Change-Id: If137da179d93c9dcf413f431bf437083bfd0e737
2021-10-08 12:43:27 +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
Pat Manning 35231f3041 Add TAPL tests for hiding the actions view when scrolling away from
focused task in overview.

Test: TaplTestsQuickstep.java
Bug: 197630182
Change-Id: Ie44a5bd99d7c9ffbc5405973c0ba1950cd90665c
2021-09-29 10:30:18 +00:00
Sreyas bf103f16b1 Creating UI tests for overview action buttons.
Change-Id: Ie6298064a068dc978ca33fb64e1856c3ba2a8cb1
2020-07-31 13:20:08 -07:00