summaryrefslogtreecommitdiff
path: root/core/java/android/app/ConfigurationController.java
Commit message (Collapse)AuthorAgeFilesLines
* Remove client side deferred config for cached stateRiddle Hsu2022-05-131-6/+0
| | | | | | | | | | | | | Since [1], the server side won't send the config change to a cached state process, until it has an active state again. So the logic of client side deferring can be removed. [1]: I09c2feffba2fc124c623796af69de9f6adb60a39 Bug: 217934273 Test: ActivityThreadTest Change-Id: Ibd113f4fb3b566e4e9cf5d7960b63a5c7790fb75
* Move fixed-rotation-related display information into configEvan Rosky2022-01-261-8/+1
| | | | | | | | | | | | | | | | | | | | Augment the "apparent" display information in configuration from just the display bounds (maxBounds) to also include the display rotation and cutout. Like maxBounds, these will be expected to always be set as basically "the display that this configuration was built against". This heavily simplifies fixed-rotation since now we don't need to deal with the "are we overriding?" question and also don't need extra activity servertransactions. The configuration is also in sync (since it is the source of truth used by resources). Additionally, this means that even the current legacy fixed-rotation model should work with in any mixed-rotation situtaion, not just fullscreen. Bug: 202201326 Test: atest DisplayTest Change-Id: I6232f74c74324b70b1b0c9f46448c509c2694310
* Reduce unnecessary overhead of SystemUiContextRiddle Hsu2021-12-091-3/+7
| | | | | | | | | | | | | | | | | | - Do not report change when initializing DisplayContent (DisplayContent#isReady() is false). This reduces boot time by dozen of milliseconds (RootWindowContainer#setWindowManager). - Only create SystemUiContext if needed. Most of processes don't use it. This reduces many registrations (e.g. according to the number of processes, it maybe from ~60 to ~10), which involve binder/listener creation/invocation, especially the extra cost of dispatching configuration to the context which no one uses. - Store token as IWindowToken to avoid object creation every time by asInterface. Bug: 207620458 Test: atest InputMethodMenuControllerTest WindowContextControllerTest Change-Id: I867e9f81116796c42048195406d74feccf4772d3
* Move IME log to WindowTokenClientCharles Chen2021-06-181-21/+0
| | | | | | | | | | | | 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
* Handle WindowProviderService#onConfigurationChangedCharles Chen2021-06-181-15/+2
| | | | | | | | | | | This CL makes WindowProviderService receive onConfigurationChanged callback when there's a config update from WM side. Test: atest WindowContextTests Test: atest ActivityThreadTest ActivityClientTest ConfigurationHelperTest fixes: 185766946 Change-Id: I922d52c1c38aecc1a948c79039cc03354adc646f
* Fix RRO handleConfigurationChanged race conditionRyan Mitchell2021-06-101-3/+2
| | | | | | | | | | Retrieval of the system and system UI themes should be done with the ResourcesManager lock held to ensure the theme retrieved has the new overlays applied. Bug: 189100984 Test: manual Change-Id: Ibe27ec745ea5a914d3d05e393598a336d96a55e6
* Use internal lock for ResourcesManagerPatrik Torstensson2021-05-051-3/+2
| | | | | | | | | | | - Create a new package private method for applyNewResourceDirs that takes the lock internally in the resources manager class - Move all locking to use the internal lock object Bug: 186411938 Test: on device and local build Change-Id: Idb49c76ceca51ed656fd47b82fad0afca1b2740b
* Introduce ConfigurationControllerChilun2021-03-051-0/+343
Move configuration related logic to ConfigurationController. Bug: 127877792 Test: atest WmTests Change-Id: I311339da5ff5d451a4e6f5131f0e6ec3533ac763