summaryrefslogtreecommitdiff
path: root/core/java/android/window/WindowContext.java
Commit message (Collapse)AuthorAgeFilesLines
* Override (un)registerComponentCallbacks for ContextWrapperCharles Chen2022-01-251-1/+4
| | | | | | | | Bug: 193247900 Test: WindowContextTest Test: ContextWrapperTest Change-Id: Ia070b12eea5631d70a96d6e41d03ab08f6b44caa
* Allow WPS to create windows with multiple typeCharles Chen2021-08-111-19/+38
| | | | | | | | | | | | | | | | | | | Before WindowProviderService, Service can add windows with several window types. This is previously not allowed for WindowProviderService because a context can only associate with a window container. However, it may cause regressions because Service is used to add windows with multiple types. This CL allows WindowProviderService to do so, but WindowProviderService can only associate with the window type returned by #getWindowType. This CL also extracts some methods to WindowContext interface so that WindowContext and WindowProviderService can reuse the same interface. Test: atest WindowContextPolicyTests StrictModeTest Test: atest ContextIsUiContextTest ContextGetDisplayTest Test: atest WindowContextTest WindowContextTests fixes: 191959013 Change-Id: Ie16916b370a4cbb8a17ccaec9870d47b4b089390
* Send DA's config directly when attaching to DACharles Chen2021-07-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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]: dd4a748af05851356b5dbd90fb42f503905370bb Change-Id: I8dd3987b731662502bc01e9d2ed67e718ada5f46
* Include RootDisplayArea feature id in DisplayAreaInfoChris Li2021-05-191-2/+8
| | | | | | | | | With the RootDisplayArea id, one can create WindowContext with bundle that specifying the RootDisplayArea using KEY_ROOT_DISPLAY_AREA_ID to get the WindowContext associated with the DA. Bug: 176875245 Test: atest WmTests:DisplayAreaTest
* Enable WindowContext to associate with WindowTokenCharles Chen2021-04-131-5/+8
| | | | | | | | | | | | This CL instroduces WMS#attachWindowContextToWindowToken and the corresponding API in WindowContextController to make WindowContext able to associate with a WindowToken. Test: atest WindowContextControllerTest Test: atest WindowManagerServiceTests#testAttachWindowContextToWindowToken* Bug: 159767464 Change-Id: I807a67fba149cbdc4267442bab0b64e6a95bd4b5
* Introduce WindowContextControllerCharles Chen2021-03-241-22/+5
| | | | | | | | | | | This CL extracts the logic which is going to share with WindowProviderService. It is also the preparation to introduce WindowProviderService. Bug: 159767464 Test: atest WindowContextControllerTest Change-Id: Ib5a4cc8d7853bb01bde1081af091d1069865e3a0
* Move WindowContext module to window packageCharles Chen2021-03-241-0/+142
In this way, we can clarify the owners and it is easier to maintain. Also refactor to move WindowContext creation logic to ContextImpl. Test: atest WindowContext WindowContextTests WindowContextPolicyTests Bug: 159767464 Bug: 152193787 Change-Id: I78432aa18aa97e001f5a9a04321109e456fd137b