1) Add OneHandedEventCallback for WMShell to register callback, and if one handed mode settings set show notifications, when user tap one handed mode shortcut notify WMShell send KEYCODE_SYSTEM_NAVIGATION_DOWN through OneHandedEventCallback with SysUIMainExecutor. 2) Add isReady() flag in OneHandedDisplayAreaOrganizer and Simplify the flow of onActivatedActionChanged() to prevent potential race problem while auto-enable One-handed and immeditately startOneHanded(), however, DisplayAreaOrganizer#onDisplayAreaAppeared() may not ready for transtion yet, and result mState keep in unfinsihed STATE_ENTERING. 3) Adjust the transiton duration from 800ms to 600ms 800ms is a little bit long to affect timing of apply runtime overlay package. 4) DelayExecute setEnabledGesturalOverlay() until transition finised and at most delay once. - onSwipeToNotificationEnabledChanged() : DelayExecute - onEnabledSettingChanged() : DelayExecute - Ctor setupGesturalOverlay() : No DelayExecute - mState.isTransitioning() : DelayExecute Test: WMShellUnitTests Bug: 182425480 Change-Id: I2615c3b30ad95a858510b4bcc73d8f343843fc96
WM Shell Test
This contains all tests written for WM (WindowManager) Shell and it's currently divided into 3 categories
- unittest, tests against individual functions, usually @SmallTest and do not require UI automation nor real device to run
- integration, this maybe a mix of functional and integration tests. Contains tests verify the WM Shell as a whole, like talking to WM core. This usually involves mocking the window manager service or even talking to the real one. Due to this nature, test cases in this package is normally annotated as @LargeTest and runs with UI automation on real device
- flicker, similar to functional tests with its sole focus on flickerness. See WM Shell Flicker Test Package for more details