Execute the on start user lifecycle phase in parallel.
Services will be a added to a new thread pool, and depending
on which category they are in, they will either be executed
right away (bootstrap and core categories), or run in parallel
along with other services in that category (other category).
This change will only apply for non-system users for now.
Additionally, low ram devices will have this change disabled.
Initial results show about 16% improvement in execution times.
Note: This CL does not enable the thread pool, a separate CL will
enable it.
Bug: 197257926
Test: atest UserLifecycleTests
Change-Id: I76ba673f78b69c7f0caac2d843fa77079e92138a
The new service will intercept all activity starts in communal mode and
enforce that the activity is allowed by ensuring the user has enabled
the package and the activity has showWhenLocked=true.
Test: locally on device
Test: atest FrameworksMockingServicesTests:CommunalManagerServiceTest
Bug: 191994709
Bug: 191996331
Bug: 200324021
Change-Id: I1892881481cf055bd4938d4cf0b624027ec2be3e
Starting the service asynchronously is resulting in a
race condition when accessing a shared data structure.
We could add a lock to guard this data structure but
this is resulting in a slightly worse performance than
starting the service synchronously.
Bug: 194428627
Bug: 179687249
Test: treehugger verification
Change-Id: Ib4d610e8a221f94a3dcc8475371b4a05e5582149
- Now based on config.enable_sidekick_graphics
Test: build pass, boot test
Bug: 179179780
Bug: 196075234
Change-Id: I032d2cc13f8911c19410f3f3faebef4566825eb9
(cherry picked from commit 511490ab8e7a6b334fab8f613e79f66ba819fc1c)
- This resource is added specifically to be used for automotive devices where if the device exits from safemode and boots into normal mode, the airplane mode remains enabled. And there is no UI on automotive devices to disable the Airplane mode.
- The value will be overlayed to true for automotive devices.
Bug: 182523956
Test: Override the config and check if airplane mode is disabled in the normal mode.
Change-Id: I829ed8b5aa436a7bc3b75e6308ff507035150586
Merged-In: I829ed8b5aa436a7bc3b75e6308ff507035150586
Wearable system service code has been disabled due to compile issues. We
need to temporarily disable these services in system server to unblock
system bring up.
Bug: 191419780
Bug: 191493915
Fix: 191493915
Fix: 191419780
Test: class not found error is gone.
Change-Id: I177f04ff1ff5b43c242367d9741e829550ed8e36
Lone calls to System.gc() generally don't do anything.
Runtime.getRuntime().gc() would force a GC, but it would be ineffective
without waiting for reference processing and finalization to complete.
Adding the runFinalization() call implicitly makes the preceding GC call
effective.
Bug: 183912710
Test: Treehugger
Change-Id: I0f4806b8e3f9ca898eb7ea1b1c8de14aa94e2646
Lone calls to System.gc() generally don't do anything.
Runtime.getRuntime().gc() would force a GC, but it would be ineffective
without waiting for reference processing and finalization to complete.
Adding the runFinalization() call implicitly makes the preceding GC call
effective.
Bug: 183912710
Test: Treehugger
Change-Id: I0f4806b8e3f9ca898eb7ea1b1c8de14aa94e2646
Merged-In: I0f4806b8e3f9ca898eb7ea1b1c8de14aa94e2646
This CL only adds the listener on device config changes, package
added/changed/removed support will be added in a follow up.
Bug: 190024878
Test: atest FrameworksMockingServicesTests:AppCompatOverridesServiceTest
Test: atest FrameworksMockingServicesTests:AppCompatOverridesParserTest
Change-Id: Ifda798abca5ed97cd4699dfd1244053ab2796586
Design doc: go/multi-session-ime-removal
We no longer require this mechanism to support
multi-clients IME, remove it completely.
Bug: 173341412
Test: atest CtsInputMethodTestCases
Change-Id: I0bdc8fe3d32ccabc8ea7996fc689543c3f99331a
This is in preparation for adding some system_server-only, non-binder
APIs, which mean we need to keep a handle to the actual class and not
just the binder interface.
Bug: 175793106
Test: boots, sensors work
Change-Id: I83dcaee53ac52e95aa238a8fa9b875caeeddc725
This CL establishes a single flow of registration for both HIDL and
AIDL HALs. The registration of both is done on a separate thread to
avoid blocking system server. Previously, only AIDL registration was
done on a separate thread.
Bug: 184677066
Test: atest CtsBiometricsTestCases
Test: atest AuthServiceTest
Test: atest Fingerprint21Test
Test: atest Face10Test
Change-Id: I4442db15a7b690bb34c6eb7e8793ab4411cbd6d2
Only a couple distinguished packages will need to hold these
permissions. We can grant via role for these cases.
Previously system ui was started assuming the system server was
initialized enough but the problem was that the role service may not
have finished granting all permissions. If we start sys ui after system
services have finished onUserStarting then we can _probably_ safely
assume the state of user 0 is initiallized.
Test: Wipe & reboot; dumpsys package com.android.systemui
Test: atest SystemUiTests
Bug: 184303952
Change-Id: I160ac8e0f2fbc36a76e8f2ee99d73e613ddc3c11