Commit Graph

423 Commits

Author SHA1 Message Date
Nataniel Borges
04c8c54b15 Merge "Disable flaky tests" into sc-dev 2021-02-03 07:21:10 +00:00
Chris Li
7dfa7106a9 Allow non-resizable apps in split-screen (9/n)
Cleanup SizeCompatModeActivityController

Bug: 176061101
Bug: 178327644
Test: pass existing
Change-Id: If4bb5e082976725b80bda5a95880a24201b6c595
2021-02-02 18:00:35 -08:00
Chris Li
5c3ad3a5a1 Merge "Allow non-resizable apps in split-screen (8/n)" into sc-dev 2021-02-03 00:38:22 +00:00
Chris Li
ee21983ae0 Merge "Allow non-resizable apps in split-screen (7/n)" into sc-dev 2021-02-03 00:24:54 +00:00
Chris Li
27d983a098 Allow non-resizable apps in split-screen (8/n)
Refactor SizeCompatModeActivityController to WM Shell. The old one will
be removed in separate cl as there are some dependencies in other
packages.

This cl is mainly for refactor. Major change will come after.
Besides refactor, also changed the mActiveButtons key to TaskId, because
launcher Task will also trigger onTaskInfoChanged, but should not remove
the restart button on the same display.

Bug: 176061101
Bug: 178327644
Test: manually verify that the size compat restart button works as usual
Test: atest WMShellUnitTests:SizeCompatUIControllerTest
Test: atest WmTests:SizeCompatTests
Change-Id: I9143e079a1a945b76c3c56596976dd6ad2802897
2021-02-02 12:54:40 -08:00
Chris Li
98d2d06106 Allow non-resizable apps in split-screen (7/n)
Add interface for SizeCompatUIController in WM shell to use
when refactoring SizeCompatModeActivityController from system UI.

Bug: 176061101
Bug: 178327644
Test: atest WMShellUnitTests:ShellTaskOrganizerTests
Change-Id: I37f72396e1769b7773722be6575506fc430b2739
2021-02-02 12:50:28 -08:00
Nataniel Borges
da5136ea43 Provides assertion blocks on Flicker
Enable tests ot be in presubmit, postsubmit or marked as flaky

Do not require flicker DSL changes

Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I74fdadaf5f6f08d96973683682297200eec6658d
2021-02-02 18:16:12 +01:00
Nataniel Borges
500d6db17b Disable flaky tests
These tests are flaky on both crosshatch and flame

Disable them from presubmit

Bug: 175687842
Bug: 179108356
Test: atest WMShellFlickerTests
Change-Id: I51e85238064e806106e68b47460836fd278cab3d
2021-02-02 18:00:24 +01:00
Bill Lin
6ea20e07d8 1/ Integrate legacySplitScreen Flicker tests into individual assertions
1) Integrate companion object inheritance and the default test runner
2) Move launch activity to setup: avoid noise of splash screen
3) Move setRotate() to setup: avoid noise of system windows
   (LetterBox, NavBar, StatusBar...) visibility changes
4) Reducing test time of each test case: remove redundant transition
5) Remve redundant val for readibility
6) Remove navBarLayerIsAlwaysVisible assertion from split test
   the rotation flow of enter split screen :
   Overview(land) -> enter split(portrait) -> split mode(land)
7) Partially enable ROTATION_90 tests
8) Bypass visibleLayersShownMoreThanOneConsecutiveEntry assertion
   for flaky reasons(Splash Screen, LetterBox, BackGestureSurface)

Test: atest WMShellFlickerTests
Bug: 176134495
Bug: 178685668
Bug: 178447631
Change-Id: I1d6153b987e5913a5d9a1fa5b72b9341b40db6fc
2021-02-02 10:41:45 +08:00
Nataniel Borges
283866d88d Merge "Reduce flicker memory consumption (Pt 4)" into sc-dev 2021-02-01 12:22:01 +00:00
Nataniel Borges
1ee38b1c18 Reduce flicker memory consumption (Pt 4)
Improve flicker memory consumption with the following:
- Use a static factory for better compatibility with JUnit4 ParameterizedRunner
- Ensure `cleanUp` is always called, even when an exception occurs

Bug: 178572522
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Id9e539c0e8bce350f94811cab58a726e47aac525
2021-02-01 09:38:12 +01:00
Winson Chung
26c4ade4d5 8/ Updating bubbles to run on shell thread
- Refactor some code to prevent blocked calls when calling to
  and from the Bubbles code when it runs on another thread
- Ensure that ScrimView can be run in separate windows running
  on separate threads

Bug: 161979899
Test: atest WMShellUnitTests
Test: atest SystemUITests
Change-Id: I8eca9e9f644486f73a39f21dc37852be51d94539
2021-01-29 22:07:33 +00:00
Nataniel Borges
3a544c9da5 Merge "Reduce flicker memory consumption (Pt 3)" into sc-dev 2021-01-29 19:46:12 +00:00
Nataniel Borges
63d515d10e Merge "Disable tests flaky on flame" into sc-dev 2021-01-29 18:18:15 +00:00
Winson Chung
a7e151f01a Merge "7/ Clean up some usage of getLooper" into sc-dev 2021-01-29 17:14:59 +00:00
Nataniel Borges
442ffb6671 Disable tests flaky on flame
EnterLegacySplitScreenTest#testNonResizeableNotDocked fails with visibleWindowsShownMoreThanOneConsecutiveEntry(Splash Screen)

RotateTwoLaunchedAppTest#testRotateAndEnterSplitScreenMode fails with "java.lang.AssertionError: Unable to find app icon in Overview"

Bug: 173875043
Test: atest WMShellFlickerTests
Change-Id: Iaa0a159e5240bd2c129ada844661caac3c64142f
2021-01-29 15:47:33 +01:00
Nataniel Borges
0f3645b868 Reduce flicker memory consumption (Pt 3)
Improve flicker memory consumption with the following:
- Ensure each assertion has a name for use with parameterized runner

Bug: 178572522
Test: atest FickerTests WMShellFlickerTests
Change-Id: I84af8ccccbbe42533013be664c91521fe49f7021
2021-01-29 11:55:29 +01:00
TreeHugger Robot
9cc46e4fe3 Merge "Re-map DisplayAreaAppearedInfo to token-leash map" into sc-dev 2021-01-29 05:06:51 +00:00
Winson Chung
9211706490 7/ Clean up some usage of getLooper
- Don't expose the looper from the executor for now since
  we don't want people to build around it

Bug: 161979899
Test: atest WMShellUnitTests
Change-Id: Ia8e29c100eeef639a60ea0b5a87ea4ae551867c2
2021-01-28 10:47:39 -08:00
Winson Chung
c1b8011f54 Merge "Migrate to using DisplayLayout instead of DisplayInfo" into sc-dev 2021-01-28 18:03:44 +00:00
Nataniel Borges
82dd3e14f8 Merge "Disable flaky pip test" into sc-dev 2021-01-28 09:30:08 +00:00
TreeHugger Robot
3faaf538e9 Merge "Remove double-posting in DisplayImeController" into sc-dev 2021-01-28 08:48:30 +00:00
Bill Lin
1fd078151b Re-map DisplayAreaAppearedInfo to token-leash map
Clean-up DA callback APIs of OneHandedDisplayAreaOrganizer
  onDisplayAreaAppeared()
  onDisplayAreaVanished()

Note:
  When super.unregisterOrganizer() is called, all DAs should be
  removed from the map in the callback of onDisplayAreaVanished().
  It was not working correctly because the map is using DisplayAreaInfo
  as the key, which will be different because of the different
  configuration object. We should use the DA token as the key.

Bug: b/172298357
Test: atest WMShellUnitTests:OneHandedDisplayAreaOrganizerTest
Test: atest SystemUITests
Test: Trigger OHM, rotate screen
Test: Trigger OHM, disabled through settings
Change-Id: I4560df1ab36ec33292fa4ec08cab28644b0fabe2
2021-01-28 15:00:02 +08:00
TreeHugger Robot
f6e8b35b63 Merge "Temperory ignore flaky visibleLayersShownMoreThanOneConsecutiveEntry" into sc-dev 2021-01-28 05:09:51 +00:00
Wilson Wu
299897e9ba Merge "Make IInputMethodManager to oneway (10/N)" into sc-dev 2021-01-28 01:46:32 +00:00
Winson Chung
4dc41ab58b Migrate to using DisplayLayout instead of DisplayInfo
- No need to keep two sources of truth, can just use display
  layout to  store/calcualte all the info we need
- Update the display layout on display configuration changed
  as well
- KI: When changing displays, the min size of the pip also
  changes so we will need to calculate that based on the
  smallest display size

Bug: 175644531
Test: atest PinnedStacktests
Test: atest WMShellUnitTests
Change-Id: I34614a8f739311c7b382b6848e4752fa68c91cfb
2021-01-27 22:01:21 +00:00
Nataniel Borges
59a995a7b1 Disable flaky pip test
Bug: 171049720
Test: atest FlickerTest
Change-Id: I21bbbc7dcb98c4cc039b4621f807386093d8deb2
2021-01-27 16:54:07 +01:00
Adrian Roos
a30d9a0d74 Remove double-posting in DisplayImeController
Now that the PerDisplay methods already run on the mMainExecutor,
we no longer need to post to that executor from PerDisplay's methods.

Fixes: 175954493
Test: atest DisplayImeController
Change-Id: Ib528b899b7f47f5c4afe3e31925bfb8d8abb8aef
2021-01-27 14:31:08 +01:00
Wilson Wu
c4663ba6a9 Make IInputMethodManager to oneway (10/N)
1. Comply following methods to IVoidResultCallback to
emulate current behavior.

-. setAdditionalInputMethodSubtypes
-. removeImeSurface
-. removeImeSurfaceFromWindow

2. Add "oneway" to all methods which we already apply them
to result-callback model.

Bug: 163453493
Test: Manual test with keyboard
Test: atest CtsInputMethodTestCases
Test: atest DisplayImeControllerTest
Change-Id: Icb396ae5d74060af69c4ecb16723b2e37b9f2067
2021-01-27 09:12:47 +00:00
Bill Lin
d7ee2ede94 Temperory ignore flaky visibleLayersShownMoreThanOneConsecutiveEntry
Splash screen sometimes cause the assertion fail
Ignore the assertion until good approach available

Test: atest WMShellFlickerTests
Bug: 178447631
Change-Id: Id2dce31e409d22fceeacb67828631b81d7a50a09
2021-01-27 16:44:15 +08:00
Winson Chung
d19e69d0bc 6/ Update pip to use shell main thread
- Remove some currently unused pip interface methods
- Remove some usages of handler
- Remove update thread (will eventually run on shell main thread)

Bug: 161979899
Test: atest WMShellUnitTests
Change-Id: If97e5182e396029120f0d0fb9e730ece93cddcc8
Signed-off-by: Winson Chung <winsonc@google.com>
2021-01-27 05:39:01 +00:00
Nataniel Borges
732cde8f57 Merge "Enable RotateAppPairs tests" 2021-01-26 16:21:32 +00:00
TreeHugger Robot
c64d83723f Merge "Disable visibleLayersShowInConsecutiveEntries assertion" 2021-01-26 14:31:26 +00:00
TreeHugger Robot
c79f0ed9d5 Merge "Enable Pip tests" 2021-01-26 09:28:36 +00:00
Nataniel Borges
5de871ffd2 Enable RotateAppPairs tests
The tests are stable in postsubmit, so they can be moved to presubmit

Bug: 162923992
Test: atest FlickerTests
Change-Id: Ie691d8ae11672337e46529b26cc358f99e5a0bf4
2021-01-26 08:48:29 +01:00
Nataniel Borges
beaddd2cde Disable visibleLayersShowInConsecutiveEntries assertion
This assertion is ~30% flaky at the moment

Bug: 162923992
Test: atest FlickerTests
Change-Id: I288b5f19ee45bd708a4c47b161f6b7f5405968b5
2021-01-26 08:45:06 +01:00
Evan Rosky
27923b5a68 Merge "Add support/adapter for recents animation via shell transition" 2021-01-26 00:29:40 +00:00
Yuncheol Heo
857ebd3ccd Merge "Move setTaskAlwaysOnTop from TaskView to BubbleExpandedView." 2021-01-25 19:39:13 +00:00
Nataniel Borges
82d51f03ab Enable Pip tests
The tests are stable in postsubmit, so they can be moved to presubmit

Bug: 171049720
Test: atest FlickerTests
Change-Id: I116157823f192ce31473d2d7d33ae7b8bf4e7a43
2021-01-25 18:34:56 +01:00
Nataniel Borges
1257711e65 Merge changes from topics "media-projection", "merge-specs", "single-assertion"
* changes:
  Use MediaProjection for screen recording
  Split app pair tests into individual assertions
  Compatibilize tests with new runner
2021-01-25 14:06:18 +00:00
Sergey Nikolaienkov
322819916e Merge "Filter out WmShellFlickerTests that are not supported on TV" 2021-01-25 10:12:46 +00:00
Nataniel Borges
9d110213e9 Use MediaProjection for screen recording
Use media projection instead of the shell command for screen recording.

Test: atest FlickerTests
Bug: 177077842
Change-Id: I9ac7351bf04004b5512316232637fd5cc2dd5fcc
2021-01-25 08:58:32 +01:00
Nataniel Borges
d04791d65c Split app pair tests into individual assertions
After this CL each assertion in the AppPairs test will appear as independent tests

Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Id704301b3396c4330001ef639faed6e978237f10
2021-01-25 08:58:27 +01:00
Nataniel Borges
143d584efd Compatibilize tests with new runner
Runner now prints each assertion individually to aid debugging.

Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I1c9a49ec3c283e5e034f0223573fca3ccafaf64c
2021-01-25 08:58:21 +01:00
Ben Lin
70a82b9076 PiP pinch-to-resize: Enable two finger movement and slight rotation.
Bug: 166478885
Test: Use two fingers and rotate and move PiP around
Change-Id: Ie9be757c95eb4bde66664ed3b8057b13f1d5bb5d
2021-01-23 09:10:10 +00:00
Yuncheol Heo
4664023109 Move setTaskAlwaysOnTop from TaskView to BubbleExpandedView.
Bug: 178212126
Bug: 175918200
Test: [Car] launch Dialer and check Dialer button is highlighted.
Test: [Phone] launch DetailDialog and check Navigation bar.
Change-Id: Ic10dca7e25a8828f8da36130ec78d2e24c765609
2021-01-22 23:24:25 -08:00
Evan Rosky
710ff71169 Add support/adapter for recents animation via shell transition
This does the basics to adapt recents animation to shell transition.

Replaces startRecentsActivity with a normal startActivity. Once
we make a full switch to shell transitions, we can hopefully remove
it.

Updates the TransitionHandlers in shell and RemoteTransitions to
support attaching a WindowContainerTransaction to a transition's
finish. For recents, this is used to move the "pausing" app (the
one getting animated into the recents carousel) back to the front
if the gesture doesn't go all-the-way into recents.

Bug: 162503077
Test: enable shell transit. launch an app, use gesture to open
      recents. use gesture to start going to recents, but then
      release early to return to the app.
      atest ShellTransitionTests
Change-Id: Ied54f1b2c70c5c129b2f5798117d6d8a85360998
2021-01-22 13:43:55 -08:00
Wale Ogunwale
a47141f5ee drag-n-drop support for main/side stage split-screen
Switch shell dnd to use new split-screen infra.

Test: exiting tests pass
Bug: 176061049
Change-Id: Iff299502d1126320dc0935a9925f0c74d3f3beee
2021-01-21 10:34:56 -08:00
TreeHugger Robot
92f15b66e9 Merge "2/ Fix flaky in WMShellFlickerTest legacySplitScreen tests" 2021-01-19 09:27:52 +00:00
Bill Lin
91f0e46305 Refactor OneHanded mode UiEventLogger implementation
1) Move UiEventLogger from static to non-static
2) Rename to OneHandedUiEventLogger to align wm-shell components
3) Remove unused code from OneHandedUiEventLogger
4) Refine the call of stopOneHandedWithUiEvent()
5) Only register TaskStackListenerCallback when enabled
6) Override getId() in the enum to ensure UiEventLoggerImpl
   can obtain the event corresponding id accordingly

Fixes: 176513465
Test: adb shell cmd stats print-logs
Test: manual + statsd_testdrive -terse 90
Test: atest WMShellUnitTests
Change-Id: Ic2fb1a2bbf87e647b0883d50b64ced53aa37d613
2021-01-19 10:11:58 +08:00