summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Chiang <eschiang@google.com>2023-04-04 15:07:19 -0700
committerEric Chiang <eschiang@google.com>2023-04-17 16:36:19 +0000
commitb610d300b21b553b53372f7ffa6e4a59152fd268 (patch)
tree0397647c475e84f8964998efc2b93e2800638283
parentc20c557fe0ef5783e30d26503c07b8b915513e4a (diff)
downloadcar-b610d300b21b553b53372f7ffa6e4a59152fd268.tar.gz
Update ControlCenterService bind conditions
Ensure CCS doesn't bind to system user in MUPAND configurations. Bug: 276326137 Test: Test: m gcar_emu_x86_64_mdnd and verified no more crash logs. Change-Id: Ib1b18d9ee7d6a5645afa61ee61dd104fab85b7f4
-rw-r--r--emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/values/config.xml52
-rw-r--r--emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml1
2 files changed, 53 insertions, 0 deletions
diff --git a/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/values/config.xml b/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/values/config.xml
index d589434..2182a64 100644
--- a/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/values/config.xml
+++ b/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/values/config.xml
@@ -102,4 +102,56 @@
<!-- Enable profile user assignment per each CarOccupantZone for per display android user
assignments. This feature is still experimental. -->
<bool name="enableProfileUserAssignmentForMultiDisplay" translatable="false">true</bool>
+
+ <!-- The services that need to be started earlier in the boot sequence and in particular order.
+ Every item in this array contains a flatten component name of a service that needs to be
+ started and a list of parameters after hashtag symbol. Here's the format:
+
+ <item>com.bar.foo/.Service#bind={bind|start|startForeground},user={all|system|foreground},
+ trigger={asap,userUnlocked}</item>
+
+ bind: bind - start service with Context#bindService
+ start - start service with Context#startService
+ startForeground - start service with Context#startForegroundService
+ If service was bound it will be restarted unless it is constantly crashing.
+ The default value is 'start'
+ user: all - the service will be bound/started for system and all foreground users
+ system - the service will be started/bound only for system user (u0)
+ foreground - the service will be bound/started only for foreground users
+ backgroundVisible - the service will be bound/started only for background users that
+ are visible.
+ The default value is 'all'
+ trigger: indicates when the service needs to be started/bound
+ asap - the service might be bound when user is not fully loaded, be careful with
+ this value, the service also needs to have directBootAware flag set to true
+ userUnlocked - start service when user unlocked the device
+ The default value is 'userUnlocked'
+
+ If the service bound/started for foreground user it will be unbound/stopped when user
+ is no longer foreground.
+ -->
+ <string-array translatable="false" name="config_earlyStartupServices">
+ <item>com.android.car.messenger/.MessengerService#bind=startForeground,user=foreground,trigger=userUnlocked</item>
+ <item>com.google.android.companiondevicesupport/com.google.android.connecteddevice.service.ConnectedDeviceService#bind=bind,user=system,trigger=asap</item>
+ <item>com.google.android.companiondevicesupport/com.google.android.connecteddevice.service.ConnectedDeviceFgUserService#bind=bind,user=foreground,trigger=asap</item>
+ <!-- Starting Android Auto receiver service earlier for wireless projection. -->
+ <item>com.google.android.embedded.projection/com.google.android.apps.auto.aareceiver.service.PersistentService#bind=bind,user=foreground,trigger=userUnlocked</item>
+
+ <!-- eGMM Vehicle Map Service Provider -->
+ <item>com.google.android.apps.maps/com.google.android.apps.geo.autograph.vms.platform.car.CarVmsPublisherClientService#bind=bind,user=foreground,trigger=userUnlocked</item>
+
+ <!-- OEM Custom Input Reference Service -->
+ <item>com.android.car.custominput.sample/.SampleCustomInputService#bind=bind,user=foreground,trigger=userUnlocked</item>
+
+ <!-- Car Telemetry Collector Service -->
+ <item>com.android.car.cartelemetryapp/.CarMetricsCollectorService#bind=bind,user=system,trigger=asap</item>
+
+ <!-- GSR Failover service to facilitate the publishing of speed limit information when eGMM is unable to do so -->
+ <item>com.google.android.apps.geo.automotive.adas/.failover.FailoverControllerService#bind=bind,user=foreground,trigger=userUnlocked</item>
+
+ <!-- The service responsible for starting/stopping the Cast receiver. -->
+ <item>com.android.car.castreceiver/.AutomotiveCastReceiverService#bind=bind,user=foreground,trigger=userUnlocked</item>
+ <!-- Early start service for Multi-display Control Center app -->
+ <item>com.android.car.multidisplay.controlcenter/com.android.car.multidisplay.controlcenter.service.ControlCenterService#bind=bind,user=backgroundVisible,trigger=userPostUnlocked</item>
+ </string-array>
</resources>
diff --git a/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml b/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml
index 1d9021b..b0018f2 100644
--- a/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml
+++ b/emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml
@@ -19,5 +19,6 @@
<item target="array/config_occupant_display_mapping" value="@array/config_occupant_display_mapping" />
<item target="array/config_allowed_optional_car_features" value="@array/config_allowed_optional_car_features" />
<item target="bool/enableProfileUserAssignmentForMultiDisplay" value="@bool/enableProfileUserAssignmentForMultiDisplay" />
+ <item target="array/config_earlyStartupServices" value="@array/config_earlyStartupServices" />
<item target="xml/car_ux_restrictions_map" value="@xml/car_ux_restrictions_map" />
</overlay>