Dynamically load statsd-service

Previously, service-statsd.jar was on the SYSTEM_SERVER_CLASSPATH. This
CL loads StatsCompanion from SystemServer.java dynamically so that the
jar does not have to be on the classpath.

Bug: 146064616
Test: boots
Change-Id: Ia0e98ed0b6e35da01b38ead2fcf45d440eae31c3
This commit is contained in:
Tej Singh
2020-01-08 15:03:38 -08:00
parent 55447e3702
commit b2d6884ecf
2 changed files with 43 additions and 8 deletions

View File

@@ -212,6 +212,8 @@ public final class SystemServer {
"com.android.server.print.PrintManagerService";
private static final String COMPANION_DEVICE_MANAGER_SERVICE_CLASS =
"com.android.server.companion.CompanionDeviceManagerService";
private static final String STATS_COMPANION_APEX_PATH =
"/apex/com.android.os.statsd/javalib/service-statsd.jar";
private static final String STATS_COMPANION_LIFECYCLE_CLASS =
"com.android.server.stats.StatsCompanion$Lifecycle";
private static final String USB_SERVICE_CLASS =
@@ -1972,7 +1974,8 @@ public final class SystemServer {
// Statsd helper
t.traceBegin("StartStatsCompanion");
mSystemServiceManager.startService(STATS_COMPANION_LIFECYCLE_CLASS);
mSystemServiceManager.startServiceFromJar(
STATS_COMPANION_LIFECYCLE_CLASS, STATS_COMPANION_APEX_PATH);
t.traceEnd();
// Incidentd and dumpstated helper