Start IoT System Service from SystemServer
For feature type "embedded", launch IoTSystemService from
System Server.
Test: Wrote a IotSystemService and ensured that the service is
successfully started on an iot device.
Bug: 67641069
Change-Id: I5aa0408f35fb4a5b0787cf9b20454720d8ae130f
Cherry-picked and refactored from oc-iot-dev branch
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 49dd5285..df4cec5 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -206,7 +206,8 @@
"com.android.server.autofill.AutofillManagerService";
private static final String TIME_ZONE_RULES_MANAGER_SERVICE_CLASS =
"com.android.server.timezone.RulesManagerService$Lifecycle";
-
+ private static final String IOT_SERVICE_CLASS =
+ "com.google.android.things.services.IoTSystemService";
private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
private static final String UNCRYPT_PACKAGE_FILE = "/cache/recovery/uncrypt_file";
@@ -1544,6 +1545,12 @@
traceEnd();
}
+ if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_EMBEDDED)) {
+ traceBeginAndSlog("StartIoTSystemService");
+ mSystemServiceManager.startService(IOT_SERVICE_CLASS);
+ traceEnd();
+ }
+
// Statsd helper
traceBeginAndSlog("StartStatsCompanionService");
mSystemServiceManager.startService(StatsCompanionService.Lifecycle.class);