Splashscreen CTS uses its own HOME activity that gets placed
on top of the normal launcher. Prevent the launcher's remote
transition from responding in that case by adding a component
filter to the TransitionFilter class.
Bug: 194112093
Test: atest SplashscreenTests
Change-Id: Iaf4572279b84953ca20abd7e34c64d7e19700b09
Use this to implement Drag-to-split transition
BYPASS_INCLUSIVE_LANGUAGE_REASON=using existing API.
Bug: 192291727
Test: drag from taskbar into split and observe. Also,
drag same-app into split and observe no-op.
Change-Id: I710805c85c7d57ae8eebe18e5df7fca899f1b882
TaskFragmentOrganizer will be used by regular apps without the
permission to manage Task. We are allow it to apply transactions if it
is operating on TaskFragment that is organized by itself.
Bug: 193191599
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Change-Id: I82e5d49260680bd496ff184c6795ec817c65d858
Migrate rotation animation in wm core to wm shell and used in
shell transition.
Bug: 190002115
Test: manual rotation the device
Change-Id: Ib3404eeb7ac647774ea3be2707c9515371ab0976
When we get a call to start activity to side, we can check the list to
know which TaskFragment it belongs to.
Bug: 190433129
Test: N/A
Change-Id: I7fc5772769bf9971c3e21723f9d4c09a183bac31
- Adding TaskFragments into the leaf Task to embed activities when
activity started to the side.
- Delete TaskFragment
- Reparent TaskFragments
Bug: 189385246
Bug: 190433129
Test: wm presubmit and have test case in updating CL.
Change-Id: I7e7f5109457dd083d3b148d3ce676ad9aa5ad89f
Security report shows that this can cause leak token of different app.
Replace the functionality with a callback to the TaskOrganizerController
to restart activity when size compat restart button is clicked.
Bug: 186776724
Test: manually verify the restart button still works
Change-Id: I097b9f02e8435e6765695b9d5a531a4e165bac66
WindowContext relies on WindowTokenClient#onConfigurationChanged after
calling WMS#attachWindowContextToDisplayArea.
However, it took some time to wait for onConfigurationChanged callback
from the server side so that we may get a stale value right after
creating WindowContext.
This confuses developers especially when the foreground activity is in
size compat mode or freeform because the process config is overridden
by activity's config.
This CL makes #attachWindowContextToDisplayArea return DA's configuration
and applies to WindowContext direcly.
It also benefits WindowProviderService because it can obtain DA's
configuration before onCreate() based on [1] and this CL.
Bug: 190019118
Bug: 190745506
Test: manual - 1. launch an Activity in size compat mode
2. create a WindowContext and verify if WindowMetrics
matches DA bounds.
Test: atest WindowContextTest WindowContextTests
Test: atest WindowContextControllerTest ContextGetDisplayTest
[1]: dd4a748af0
Change-Id: I8dd3987b731662502bc01e9d2ed67e718ada5f46
When app wants to create activity through sidecar (for example,
startActivityToSide), we need a callback in case it failed to finish the
request.
Allow the caller to set a token for the WCT, which will be passed back
if there is any error, so that the caller can identify the error
callback.
Bug: 190433129
Test: N/A
Change-Id: Icffb7255e75465b90ed822559296f147a7e3418a
For apps opted out of the new splash screen, we show the full background
drawable.
Ensure there has send the splash screen background color to
StartingWindowListener.
Bug: 182880656
Test: manual set useLegacy to true then verify legacy splash screen.
Test: atest WmTests:ActivityRecordTests
Test: atest StartingSurfaceDrawerTests
Change-Id: Icf662f3c5f368f447e718f82f78dc25b909ca9be
When create view with Context, there will also load some view
attributes from the Context and pre-set to the View object, to ensure
the splash screen view not affected by those attributes, clear padding
and background after create those view objects.
Bug: 191339594
Test: manual launch several apps from Launcher/Notification.
Tets: atest SplashscreenTests
Change-Id: I05be9c296a04cd49a0896ad8aef57643720d60ce
Allow organizer to set the initial windowing mode for creating
TaskFragment.
Bug: 190433129
Test: N/A
Change-Id: I8848a27f69108ebc62be3342cd6f1656ec488433
Also update setAdjacentRoots to accept TaskFragment.
Pass the WCT to WM Core. The implementation on WM Core side will be in a
separate cl.
Bug: 190433129
Test: N/A
Change-Id: I1ee8a7ba0a43e18e180c05a7fcf0467967564782
This change contains mainly the function signatures and data classes.
The actual implemenation will come in a separate cl.
Bug: 190433129
Test: N/A
Change-Id: I4f9695cea270cc06f2f6b1a2c56245cd2a43b9fd
Previously we initialize WindowManager and associate DisplayArea in onCreate,
but apps may use WindowManager before WindowProviderService#onCreate.
The code may be like:
```
public void onCreate() {
WindowManager wm = getSystemService(Windowmanager.class);
wm.getCurrentWindowMetrics().getBounds(); // <--- crash here
super.onCreate()
...
}
```
This CL move the initialization step to attachBaseContext to prevent
the crash.
Test: atest WindowContextTests
Test: run gsi_avd/boot_health/vendor_img_rvc on ABTD
Bug: 191635763
Change-Id: Id8bad73a749813a90b307ac2b4d020f740631ea3
Added a remote transitionfilter for container ordering. This way
launcher animation won't engage if it is appearing behind a
translucent task.
Modify commitVisibility to properly update client visibility
when shell transitions are enabled.
Fixed issue where activity start was deferring sync-engine
readiness even for "delivered-to-top" or cancelled activity
starts. This meant it would wait forever.
Hooked up the "enter animation complete" reporting to shell
transitions.
Removed interference by legacy freeform/maximize animation
logic (which was calling setReady at incorrect times).
Bug: 183993924
Test: atest ActivityLifecycleTests
Change-Id: I1138079b1ae05248cefa211e0597fd6723a8bbba
IMF has the requirement to debug if the configuration is dispatched
to InputMethodService. Since we migrated InputMethodService to
WindowProviderService, we should also move the debug logic to
WindowContext module because config updates will be no longer from
ActivityThread.
Test: build & run
Bug: 135719017
Change-Id: I248c90f36249a6a4537228f7b0204f0d4466ebc7
Also introduce IWindowManager#getDisplayIdToLaunchIme to make IMS
be aware of the launched display to prevent extra onConfigurationChanged
callback
Bug: 149463653
Test: atest MultiDisplaySystemDecorationTests CtsInputMethodTestCases
Test: atest ContextTest ContextIsUiContextTest
Test: manual - moving IME between 2 displays and displayArea within
display - config change received
Test: manual - the app to show IME crashed and focus is set to the
next task - no config change
Change-Id: Ie565e30ed5dd3f2cfe27355a6dded76dc3adc14b
The SurfacePackageViewHost was never release, leading to a leak of its
surfaces.
This CL ensure it is released:
- Directly in the shell if the SplashScreenView was not copied
- From the client, through the window manger and then to the shell if
the splash screen was copied in the client process
Test: Manually tested with app setting by checking if the surfaces
are actually removed (winscope + logs) in the following scenarios:
- When the application registers an OnExitAnimationListener
and calls remove(),
- When the application registers an OnExitAnimationListener
and dies without calling remove()
- When the applicaiton does not register an OnExitAnimationListener
and the shell removes the splash screen
Bug: 189759180
Change-Id: Ib68bfffad6720911368739d7dd87d8a03034c589
Let empty-style splash screen do reveal animation.
Also remove the extra animation duration if the icon is empty.
Bug: 190695897
Bug: 190695665
Test: manual
Test: atest SplashscreenTests
Change-Id: I8b3b52369c12fbddc32af8c40f37650cc84a88dd
Provide a method ActivityOptions#setSplashscreenStyle to specify
splash screen style if needed.
If not set, the default option will be empty-style splash screen, so
without any other change, the activity launched from systemui with
ActivityOptions will become empty style splash screen.
Bug: 188023621
Bug: 189293785
Test: manual test start application from Launcher and Notification.
Change-Id: I299320db8f32fbd835c7ec0acaad3df3486a13f5
Adds a parameter to the IRemoteTransitionFinishedCallback. This
transaction will be merged into the finish transaction before it is
applied. This is needed by transitions like live-tile recents where
the end-state of the transition is altered during the "animation".
Bug: 172695387
Test: open app, swipe up to overview, resume that same app, screen
shouldn't turn black anymore.
Change-Id: I6fa1e22288ce087ad17fdfc950a8419e6ba61a47
If the splashscreen uses an animated icon, we need to display it in a
surface view to avoid any jank if the view is passed to the client.
Test: CtsWindowManagerDeviceTestCases:SplashscreenTests#testHandleExitIconAnimatingActivity
Bug: 181757194
Change-Id: I7e2745a68626849374f5ebb9011c2e8c3b3b92c3