diff options
author | Andrei Onea <andreionea@google.com> | 2020-11-24 23:54:04 +0000 |
---|---|---|
committer | Andrei Onea <andreionea@google.com> | 2020-12-30 14:37:12 +0000 |
commit | 224f8c01d7096a57de8d8da6f51a79134553ee74 (patch) | |
tree | e24137b9f8b074b5cec27dd12ec87192a54ad6ad /services/java/com/android/server/SystemServer.java | |
parent | 771aa062b92cb9ee17738b3545f54a5d4b06f0a5 (diff) |
Allow overriding compat config prior to install time.
If the user tries to apply an override for a package that is not yet
installed, the override is put into a 'deferred' bucket, to be validated
upon installation.
Overrides are rechecked every time an app is installed, updated or
deleted.
If a deferred override is valid at install or update time, it gets
promoted to a regular override.
If a deferred override cannot be applied upon app installation or
update, it remains deferred.
If an app is deleted, all its overrides become deferred.
When any of the reset commands are called for a given package, that
removes both regular and deferred overrides.
Bug: 158696818
Test: atest CompatConfigTest
Test: atest OverrideValidatorImplTest
Change-Id: I50eab62214d1325ec6185ddcfe9e8f425e11c98b
Diffstat (limited to 'services/java/com/android/server/SystemServer.java')
-rw-r--r-- | services/java/com/android/server/SystemServer.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index b5c5bb52d050..59b24f887f2c 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -910,6 +910,9 @@ public final class SystemServer { mActivityManagerService.setSystemProcess(); t.traceEnd(); + // The package receiver depends on the activity service in order to get registered. + platformCompat.registerPackageReceiver(mSystemContext); + // Complete the watchdog setup with an ActivityManager instance and listen for reboots // Do this only after the ActivityManagerService is properly started as a system process t.traceBegin("InitWatchdog"); |