Start platform compat service eariler.

It's needed by ActivityManager and PackageManager.
Also use a constant in Context for the name.

Test: flashed device with ag/9025572 and ag/9204795 and the platfrom
compat was accessible.
Bug: 137769727
Change-Id: Ie1130a3f0bdd1769fe0755db0089702ea64d9db6
Merged-In: Ie1130a3f0bdd1769fe0755db0089702ea64d9db6
This commit is contained in:
atrost
2019-08-15 16:53:01 +01:00
committed by Anna Trostanetski
parent 6ef5b6c183
commit 8266ae32ba
2 changed files with 16 additions and 4 deletions

View File

@@ -38,6 +38,7 @@ import android.app.ActivityManager;
import android.app.IApplicationThread;
import android.app.IServiceConnection;
import android.app.VrManager;
import android.compat.IPlatformCompat;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
@@ -3228,6 +3229,7 @@ public abstract class Context {
ROLE_SERVICE,
//@hide ROLE_CONTROLLER_SERVICE,
CAMERA_SERVICE,
//@hide: PLATFORM_COMPAT_SERVICE,
PRINT_SERVICE,
CONSUMER_IR_SERVICE,
//@hide: TRUST_SERVICE,
@@ -4585,6 +4587,13 @@ public abstract class Context {
@SystemApi
public static final String STATS_MANAGER = "stats";
/**
* Use with {@link android.os.ServiceManager.getService()} to retrieve a
* {@link IPlatformCompat} IBinder for communicating with the platform compat service.
* @hide
*/
public static final String PLATFORM_COMPAT_SERVICE = "platform_compat";
/**
* Service to capture a bugreport.
* @see #getSystemService(String)

View File

@@ -635,6 +635,13 @@ public final class SystemServer {
SystemServerInitThreadPool.get().submit(SystemConfig::getInstance, TAG_SYSTEM_CONFIG);
traceEnd();
// Platform compat service is used by ActivityManagerService, PackageManagerService, and
// possibly others in the future. b/135010838.
traceBeginAndSlog("PlatformCompat");
ServiceManager.addService(Context.PLATFORM_COMPAT_SERVICE,
new PlatformCompat(mSystemContext));
traceEnd();
// Wait for installd to finish starting up so that it has a chance to
// create critical directories such as /data/user with the appropriate
// permissions. We need this to complete before we initialize other services.
@@ -1091,10 +1098,6 @@ public final class SystemServer {
SignedConfigService.registerUpdateReceiver(mSystemContext);
traceEnd();
traceBeginAndSlog("PlatformCompat");
ServiceManager.addService("platform_compat", new PlatformCompat(context));
traceEnd();
} catch (RuntimeException e) {
Slog.e("System", "******************************************");
Slog.e("System", "************ Failure starting core service", e);