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
- 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
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
- 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
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
- 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
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
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
Splash screen sometimes cause the assertion fail
Ignore the assertion until good approach available
Test: atest WMShellFlickerTests
Bug: 178447631
Change-Id: Id2dce31e409d22fceeacb67828631b81d7a50a09
- 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>
The tests are stable in postsubmit, so they can be moved to presubmit
Bug: 162923992
Test: atest FlickerTests
Change-Id: Ie691d8ae11672337e46529b26cc358f99e5a0bf4
The tests are stable in postsubmit, so they can be moved to presubmit
Bug: 171049720
Test: atest FlickerTests
Change-Id: I116157823f192ce31473d2d7d33ae7b8bf4e7a43
Use media projection instead of the shell command for screen recording.
Test: atest FlickerTests
Bug: 177077842
Change-Id: I9ac7351bf04004b5512316232637fd5cc2dd5fcc
After this CL each assertion in the AppPairs test will appear as independent tests
Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Id704301b3396c4330001ef639faed6e978237f10
Runner now prints each assertion individually to aid debugging.
Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I1c9a49ec3c283e5e034f0223573fca3ccafaf64c
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
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
b/177374067 indicate OpenAppToLegacySplitScreenTest still flaky
1) Extend the filter in visibleLayersShownMoreThanOneConsecutiveEntry()
- Toast window
2) When going split transition, waitForAppTransitionIdle() at end
3) Enable navBarLayerIsAlwaysVisible() & statusBarLayerIsAlwaysVisible()
Test: atest com.android.wm.shell.flicker.legacysplitscreen
Test: Set TEST_REPETITIONS to 100 and run flicker test stressfully
Bug: 177374067
Bug: 176923301
Bug: 176134495
Change-Id: I1caface176f4af591d5383877c81b786eb23ba58
This adds IRemoteTransition interface for other processes (like
launcher) to register for playing transition animations.
Then there are 2 supported ways to "register":
1. Is to attach an IRemoteTransition to ActivityOptions. To
support this pathway, requestStartTransition now takes a
TransitionRequest object which can contain whatever info
is needed at the time. One piece of that is the passed-in
IRemoteTransition.
2. Is to register directly with shell (via systemuiproxy for
now) with a TransitionFilter. This filter allows shell
transitions to dispatch a transition to a remote without
need to make queries over binder.
This also hooks up launcher animations by converting the new
transition info to the old RemoteAnimationTargetCompat stuff.
Bug: 169035082
Test: launch app from launcher and observe the icon animation.
atest ShellTransitionTests
Change-Id: I8014a6f46cffda3a48a1a4ae101e2643078f4a14
Add a callback in split layout to notify registered listener when users
double tapped the divider bar. Use this callback to switch side stage
position.
Bug: 176061049
Test: atest SplitLayoutTests
Test: manual check stage position changed when double tapped divider bar
Change-Id: Id3929b01a194b8eb0838cc892156bbbe48dc8690
Add some more interfaces APIs for manipulating main/side stage
split-screen.
Also, renamed pinTask/unpinTask to moveToSideStage/removeFromSideStage
for consistency.
Test: Command line
Bug: 176061049
Change-Id: Ic5b909c42e027e6f4809931c6dc92af1bf79b050