diff options
author | Eric Chiang <eschiang@google.com> | 2023-04-04 15:07:19 -0700 |
---|---|---|
committer | Eric Chiang <eschiang@google.com> | 2023-04-17 16:36:19 +0000 |
commit | b610d300b21b553b53372f7ffa6e4a59152fd268 (patch) | |
tree | 0397647c475e84f8964998efc2b93e2800638283 | |
parent | c20c557fe0ef5783e30d26503c07b8b915513e4a (diff) | |
download | car-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.xml | 52 | ||||
-rw-r--r-- | emulator/cluster/rro_overlays/CarServiceOverlay_MdNd/res/xml/overlays.xml | 1 |
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> |