Commit Graph

834 Commits

Author SHA1 Message Date
Chris Li
667d242404 Merge "Fix non-resizable split flicker tests" into sc-dev 2021-03-19 03:19:26 +00:00
Chilun Huang
df8f101244 Merge "Do not use obsoleted snapshot as staring window" into sc-dev 2021-03-19 02:07:48 +00:00
Jorge Gil
f134ef3656 Merge "Update the PIP exclusion bounds when PIP is offset by shelf/ime" into sc-dev 2021-03-19 00:12:19 +00:00
Evan Rosky
557bab6f87 Merge "Initial support for display rotation in shell transitions" into sc-dev 2021-03-18 23:24:48 +00:00
Chris Li
c40cb1103a Fix non-resizable split flicker tests
1. Update the flag of DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW
during tests.

2. Before, the tests only checked whether the app window/layer became
visible/invisible, which could also happen during opening recent. Now,
we also check the visibility at the end.

Bug: 182235458
Test: atest WMShellFlickerTests
Change-Id: Ibc7b359d600a0e4105cc3a84b3111d59813eb9f1
2021-03-18 13:35:54 -07:00
Mady Mellor
651be19f5c Merge "Remove the explicit callback, not all of them" into sc-dev 2021-03-18 20:29:50 +00:00
Nataniel Borges
a4c5870608 Merge "Promote stable PIP app tests to presubmit" into sc-dev 2021-03-18 16:54:07 +00:00
Tiger Huang
1c7a274367 Merge "Let insets can still be controlled if its window bounds is moved" into sc-dev 2021-03-18 15:27:57 +00:00
Bill Lin
82c923af4b Merge "2/ Do not access SettingProvider in test code" into sc-dev 2021-03-18 10:30:09 +00:00
Bill Lin
8a612f73e2 2/ Do not access SettingProvider in test code
- Refactor OneHandedSettingsUtil.java
- Remove redundant test for SettingProvider

New policy: b/175024829
Settings key: <one_handed_*> is not readable.
From S+, new public settings keys need to be annotated
with @Readable unless they are annotated with @hide.

Recent changes :
ag/13764747 Remove @Readable for hidden fields added in S

Test: atest WMShellUnitTests
Bug: 183064974
Change-Id: I85bf3680cbcdba4c85aa96de058bc85cfabead46
2021-03-18 18:14:22 +08:00
Nataniel Borges
1a3724eced Promote stable PIP app tests to presubmit
These flaky tests have been stable for the past week and can be promoted

Test: atest WMShellFlickerTests:com.android.wm.shell.flicker.pip
Bug: 171049720
Bug: 167521849
Change-Id: Ibd78e9d9e53a5712ca781b265b1b65c830a74c08
2021-03-18 11:10:32 +01:00
Wei Sheng Shih
4a1f799020 Merge "Remove the timeout which used for cleanup splash screen" into sc-dev 2021-03-18 09:45:39 +00:00
Bill Lin
801a654427 Do not access SettingProvider in test code
New policy: b/175024829
Settings key: <one_handed_*> is not readable.
From S+, new public settings keys need to be annotated
with @Readable unless they are annotated with @hide.

Recent changes :
ag/13764747 Remove @Readable for hidden fields added in S

Test: atest WMShellUnitTests
Bug: 183064974
Change-Id: I185491189a3804d7038be3c117583ab571e7a961
2021-03-18 15:07:15 +08:00
wilsonshih
5cafb53ce6 Remove the timeout which used for cleanup splash screen
Remove the internal timeout to clean up the starting window, for now on
the developers are responsible for removing it.

- Also clean up some redundant members.

Bug: 181838419
Test: atest SplashscreenTests
Change-Id: Iebcccbca454eb7fda4bed637cb5866deec36cf6b
2021-03-18 11:36:44 +08:00
jorgegil@google.com
30d86a6b5c Update the PIP exclusion bounds when PIP is offset by shelf/ime
Bug: 182509392
Test: enter PIP, stash, open chrome to trigger offset - verify back
gesture works correctly

Change-Id: If80ec31035d7da9718267133e10493bd2a363495
2021-03-17 15:26:09 -07:00
Evan Rosky
1551cb7307 Initial support for display rotation in shell transitions
This puts display-content as another WC in a transition. It then
adds WC rotation to change tracking. If there is a rotation,
the shell-side handlers will play the transition.

This replaces ScreenTransitionAnimation, seamless-rotation, and
fixed-rotation:

 ScreenTransitionAnimation implementation will move to shell.

 seamless-rotation is redundant because the rotation setup is
 intrinsically "seamless": it requires shell to imbue an
 animation onto it rather than just doing the jump-cut.

 fixed-rotation is now just a custom animation where we
 counter-rotate the closing app on frame 1 and then perform
 the normal open animation on the opening app.

Bug: 179270750
Test: DisplayContentTests#testShellTransitRotation
      enable shell transitions and rotate the device or launch
      and close apps in different orientations.
Change-Id: I4bc23b2e614ba85bf9752f62da4c3f8d0c90436d
2021-03-17 15:08:10 -07:00
Mady Mellor
8b7afff3ef Remove the explicit callback, not all of them
Test: manual - expand / collapse / switch between bubbles
      works fine
Bug: 181896441
Change-Id: Ib724b2195aeb7748ade669964a65394e61f675a5
2021-03-16 18:31:11 -07:00
Mark Renouf
ce4e40ac0f Merge "Splits up internal binder api for scroll capture" into sc-dev 2021-03-16 18:21:37 +00:00
Tiger Huang
7faf533fb3 Let insets can still be controlled if its window bounds is moved
Insets source window can be moved by the display area policy so that
the window would not on the edge of the display. This makes the window
cannot provide insets to the display frame. The default animation uses
the display frame to compute insets, so the moved types cannot be
animated properly.

This CL adds an insets hint to InsetsSourceControl. It is the insets
computed from its owning window bounds. With the insets hint, the insets
animation can be played regardless of the display frame.

This CL also fixes an issue that the insets animation would be played in
the wrong direction by the fixed-rotation window.

Bug: 175775686
Fix: 181939099
Fix: 163018915
Test: atest ImeInsetsSourceConsumerTest InsetsAnimationControlImplTest
            InsetsControllerTest InsetsSourceConsumerTest
            DisplayImeControllerTest
      WindowInsetsTests (manual)
Change-Id: Ic6a8a215bd9b3a3b1af18e425dabe803c9be323e
2021-03-16 23:33:31 +08:00
Nataniel Borges
89740805f3 Merge "Remove Snapshot and Splash Screen from consecutive entry check" into sc-dev 2021-03-16 14:14:02 +00:00
Chilun
a68b3eb151 Do not use obsoleted snapshot as staring window
We will use splash screen as starting window if the activity is in
finishing state. Now we will not use the activity with finishing
state to show the starting window, so we check the top activity
component to avoid using obsoleted snapshot as starting window.

Bug: 180893837
Test: atest ActivityStarterTests ActivityRecordTests
Change-Id: I27fb40d6d4e8808caf803ef78c39050258eab1a2
2021-03-16 17:34:12 +08:00
Nataniel Borges
8b15b01c43 Remove Snapshot and Splash Screen from consecutive entry check
It is already possible to ignore windows/layers on the verification of  visibleWindowsShownMoreThanOneConsecutiveEntry and visibleLayersShownMoreThanOneConsecutiveEntry. However many tests need to manually add the Snapshot and Splash Screen entries.

Those entries are not guaranteed to show for more than 1 entry, they depend on the app behavior and when the SF actually renders the information sent by WM.

This CL removes those windows by default from the verification and refactor the tests to make it easier to update in the future

Test: atest FlickerTests WMShellFlickerTests
Bug: 182720234
Change-Id: I0e3346e078515b3e9a2065256ac04696acfa59fb
2021-03-16 10:26:55 +01:00
Winson Chung
f839a05c78 Merge "Create WindowContext for adding the drag drop overlay" into sc-dev 2021-03-16 03:30:29 +00:00
Mark Renouf
400a505d4d Splits up internal binder api for scroll capture
Splits the connection callback out from the session
callbacks.

Use ListenableFuture at the ScrollCaptureClient layer
to safely chain together futures, provide a better
exception handling/reporting path, and allow for
cancellation of background tasks.

Bug: 180671218
Test: atest ScrollCaptureClientTest ScrollCaptureConnectionTest
Test: atest ScrollCaptureFrameworkSmokeTest
Change-Id: Ibc8536d12a5554f62b3d7e1f4f717d3589ec45e0
2021-03-16 02:07:53 +00:00
Jorge Gil
2363bb8162 Merge "Check that PIP is active before setting the PIP exclusion bounds" into sc-dev 2021-03-16 00:46:16 +00:00
Bill Lin
8dc4ecd2c8 Merge "Fix OHM DA Organizer do not update display bounds by orientation" into sc-dev 2021-03-15 23:06:36 +00:00
Hongwei Wang
3cd3a80f30 Merge "Settle auto PiP transaction in WindowContainerTransaction" into sc-dev 2021-03-15 21:59:13 +00:00
Winson Chung
e3e90bd0c4 Merge changes from topic "revert-13608835-shell_feature_interfaces-HRAUSTBFGW" into sc-dev
* changes:
  Revert "1/ Add mechanism to expose shell feature directly (for Pip)"
  Revert "2/ Add mechanism to expose other features directly"
2021-03-15 20:46:18 +00:00
Winson Chung
64b8381c7d Revert "1/ Add mechanism to expose shell feature directly (for Pip)"
Revert "Add shell aidl files"

Revert "Update starting window init call for CarLauncher"

Revert submission 13608835-shell_feature_interfaces

Reason for revert: SysUI Studio aidl import issue
Reverted Changes:
I49a5a0419:2/ Add mechanism to expose other features directly...
I19425896d:Update starting window init call for CarLauncher
If048d2cd9:1/ Add mechanism to expose shell feature directly ...
Ibb8365d3c:Add shell aidl files
Ie41b0b77a:Update calls to go through the feature interface i...

Change-Id: I97e591a5e157dfd27a72a735b51a3ed80bf1bf91
2021-03-15 17:52:25 +00:00
Winson Chung
a33a496a6f Revert "2/ Add mechanism to expose other features directly"
Revert "Add shell aidl files"

Revert "Update starting window init call for CarLauncher"

Revert submission 13608835-shell_feature_interfaces

Reason for revert: SysUI Studio aidl import issue
Reverted Changes:
I49a5a0419:2/ Add mechanism to expose other features directly...
I19425896d:Update starting window init call for CarLauncher
If048d2cd9:1/ Add mechanism to expose shell feature directly ...
Ibb8365d3c:Add shell aidl files
Ie41b0b77a:Update calls to go through the feature interface i...

Change-Id: I8bacc844fc3f0447311b5a97c4d356f2fb80f3ce
2021-03-15 17:52:25 +00:00
Hongwei Wang
f4dfb7c4a3 Settle auto PiP transaction in WindowContainerTransaction
At the end of autoEnterPip transition, followings happen in sequence
- Transition finishes in Launcher side, which operates on the
  animation leash
- RecentsAnimationController.TaskAnimationAdapter#onCleanup has the final
  chance to set the Task leash
- PipTaskOrganizer gets onTaskAppeared callback and commits Task into
  pinned mode

What's been changed here
- Transition in Launcher no longer in charge of settle the final transaction
- RecentsAnimationController.TaskAnimationAdapter#onCleanup sets the
  Task leash to be in sync with the final state in Launcher side
- PipTaskOrganizer commits the final leash transaction together with
  WindowContainerTransaction that enters PiP

Known issue: transition from landscape is not polished

Video: http://rcll/aaaaaabFQoRHlzixHdtY/hT5SXvaCy28P4UtfuoKiDw
Bug: 181342797
Test: see video
Change-Id: Ieabd6991ea5174099714ec22970198bebde1e336
2021-03-15 10:40:13 -07:00
jorgegil@google.com
b9e67286a0 Check that PIP is active before setting the PIP exclusion bounds
Fixes issue that caused the exclusion bounds to be set to the
last PIP bounds even if the PIP window did not exist anymore,
leading to the back gesture to not work.

Bug: 176302696
Test: enter PIP, stash, exit via drag to bottom, enter dark mode -
the back gesture should work on the region that was previously stashed
pip

Change-Id: Ife9abf6382c7d973d9cefbc6a3dc1f355989fa42
2021-03-15 10:40:02 -07:00
Nataniel Borges
1f9f16f880 Merge "Promote PIP postsubmit tests to presubmit" into sc-dev 2021-03-15 16:03:48 +00:00
Wei Sheng Shih
3a84db48e6 Merge "Fix launching app from work profile cannot show splash screen." into sc-dev 2021-03-15 08:03:27 +00:00
wilsonshih
cc41fa62d8 Fix launching app from work profile cannot show splash screen.
Unable to find resource if the application is installed from work
profile, which cause the splash screen window cannot build up normally.

Bug: 179819075
Test: atest ActivityRecordTests
Change-Id: I2e0254780707ea625c356d53d8b67fb1df0d9a4d
2021-03-15 11:30:14 +08:00
Charles Chen
91734009df Merge "Add more logs in RootTDAOrganizer" into sc-dev 2021-03-15 02:47:52 +00:00
Chris Li
3c2c7d9b42 Merge "Allow non-resizable to enter split screen from recent" into sc-dev 2021-03-13 22:31:52 +00:00
Winson Chung
b7e0678d36 Merge changes from topic "shell_feature_interfaces" into sc-dev
* changes:
  2/ Add mechanism to expose other features directly
  1/ Add mechanism to expose shell feature directly (for Pip)
2021-03-13 19:13:21 +00:00
Winson Chung
8e76243e57 2/ Add mechanism to expose other features directly
- Expose interfaces for splitscreen, one handed, shell transitions,
  starting window
- Make the shell code only reference the starting window controller and
  not the exported interface

Bug: 180074017
Test: atest WMShellUnitTests
Test: Verify Pip calls from Launcher work
Change-Id: I49a5a0419996754e5e154df7af1e475268035a5a
2021-03-12 21:22:51 -08:00
Winson Chung
2b52dceafc 1/ Add mechanism to expose shell feature directly (for Pip)
- Also split impl and controller for ShellInit/ShellCommandHandler
  (as with ag/13502602)
- Example implementation of exposing a subset of the Pip interface to
  Launcher directly.  This has the benefit of reducing unnecessary code
  in SysUI just to pipe calls to the Shell.

  The controller implements the binder interface which is collected
  and exposed to Launcher when it binds to the overview  service
  and Launcher can call through the binders directly.

  Note: this requires the shared lib to also build with the Shell
  interfaces so changes to the Shell aidls will still require updating
  the shared lib (until the shared lib prebuilt can removed).

Bug: 180074017
Test: atest WMShellUnitTests
Test: Verify Pip calls from Launcher work

Change-Id: If048d2cd9a6b8e5014ba30c0deaed7a3e177605d
Signed-off-by: Winson Chung <winsonc@google.com>
2021-03-12 17:15:58 -08:00
Chris Li
f834092444 Allow non-resizable to enter split screen from recent
Before, LegacySplitScreen is not allowing non-resizable to enter split
screen. Now, it also checks supportsNonResizableMultiWindow.

Fix: 181377395
Bug: 176061101
Test: manual
Change-Id: Iae4c65b5c8b0a139dbf8af55caba9f6c99d1f470
2021-03-12 16:04:11 -08:00
Nataniel Borges
920cf61139 Merge "New enter pip assertion" into sc-dev 2021-03-12 16:35:46 +00:00
Nataniel Borges
575f4bf38f Merge "Generalize pip transitions and assertions" into sc-dev 2021-03-12 16:34:52 +00:00
Nataniel Borges
bfc834eeea Merge "Generalize apppairs assertions" into sc-dev 2021-03-12 16:34:42 +00:00
Mady Mellor
3ffd209994 Merge "Fix touches for manage menu" into sc-dev 2021-03-12 16:24:42 +00:00
Nataniel Borges
9bc15837b6 Promote PIP postsubmit tests to presubmit
The tests have been stable for the past 2 weeks in postsubmit and can be promoted to presubmit

Test: atest FlickerTests:com.android.wm.shell.flicker.pip
Bug: 174238224
Change-Id: Ie7cbd56940e4b5eacd25ba38d1fd0a5966b9a7e9
2021-03-12 15:05:34 +01:00
Bill Lin
1041042873 Fix OHM DA Organizer do not update display bounds by orientation
Legacy code depend on getDisplayBounds() which obtain bounds from
current WindowMetrics, unfortunately, WindowMetrics's info is not
up-to-date due to DisplayChangeController.onRotateDisplay() callback
earlier than WindowMetrics get update.

When onRotateDisplay() callback, we rotate old display bounds by
the rotation policy manually.

Test: atest WMShellUnitTests
Bug: 182342712
Change-Id: I9ff91dd7e51417ee33d57327ca07203de52dbe33
2021-03-12 18:06:48 +08:00
Nataniel Borges
8923c65435 Merge "Log WM trace on frame instead of transaction" into sc-dev 2021-03-12 09:40:15 +00:00
Wei Sheng Shih
e010b5d5b9 Merge changes from topic "pre_run_enable_starting" into sc-dev
* changes:
  Enable SplashScreen flag
  Fix several test failures for the new starting window.(10/N)
  Implement default exit animation for splash screen.(9/N)
2021-03-12 07:15:38 +00:00
wilsonshih
11af33eeaf Fix several test failures for the new starting window.(10/N)
1. Register TestStartingWindowOrganizer to mock add/remove starting
window.
2. Do not show starting window if not occluded.
3. Add ReadFrameBuffer permission so Car can get TaskSnapshot.
4. Correct package path for shell.startingsurface.
5. Do not show starting window for home type.

Bug: 73289295
Bug: 131311659

Test: atest TaplTestsLauncher3
Test: atest WmTests StartingSurfaceDrawerTests TaskSnapshotWindowTest
Test: atest CtsWindowManagerDeviceTestCases
Change-Id: I89930d2e8a05cca6197c36c780ee1843fe454354
2021-03-12 04:08:56 +00:00