1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4** Copyright 2021, The Android Open Source Project
5**
6** Licensed under the Apache License, Version 2.0 (the "License");
7** you may not use this file except in compliance with the License.
8** You may obtain a copy of the License at
9**
10**     http://www.apache.org/licenses/LICENSE-2.0
11**
12** Unless required by applicable law or agreed to in writing, software
13** distributed under the License is distributed on an "AS IS" BASIS,
14** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15** See the License for the specific language governing permissions and
16** limitations under the License.
17*/
18-->
19
20<!--
21  Overlay resources to configure car service based on each OEM's preference.
22  See also packages/services/Car/service/res/values/config.xml
23-->
24<resources>
25    <bool name="audioUseDynamicRouting">true</bool>
26    <!--  Configuration to enable muting of individual volume groups. If this is set to
27          false, muting of individual volume groups is disabled, instead muting will toggle master
28          mute. If this is set to true, car volume group muting is enabled and each individual
29          volume group can be muted separately. -->
30    <bool name="audioUseCarVolumeGroupMuting">true</bool>
31    <!--  Configuration to enable IAudioControl#onDevicesToDuckChange API to inform HAL when to
32      duck. If this is set to true, the API will receive signals indicating which output devices
33      to duck as well as what usages are currently holding focus. If set to false, the API will
34      not be called. -->
35    <bool name="audioUseHalDuckingSignals">false</bool>
36     <!--  Configuration to enable min/max activation volume. If this is set to true, the volume of
37          the volume group with min/max activation volume setting will be set to min activation
38          volume or max activation volume if volume during activation is lower than min activation
39          volume or higher than max activation volume respectively. If this is set to false, no
40          volume level will be changed during activation.-->
41    <bool name="audioUseMinMaxActivationVolume">true</bool>
42
43    <!--
44    Lists all occupant (= driver + passenger) zones available in the car.
45    Some examples are:
46    <item>occupantZoneId=0,occupantType=DRIVER,seatRow=1,seatSide=driver</item>
47    <item>occupantZoneId=1,occupantType=FRONT_PASSENGER,seatRow=1,seatSide=oppositeDriver</item>
48    <item>occupantZoneId=2,occupantType=REAR_PASSENGER,seatRow=2,seatSide=left</item>
49    <item>occupantZoneId=3,occupantType=REAR_PASSENGER,seatRow=2,seatSide=right</item>
50
51    occupantZoneId: Unique unsigned integer id to represent each passenger zone. Each zone
52                    should have different id.
53    occupantType: Occupant type for the display. Use * part from
54                   CarOccupantZoneManager.OCCUPANT_TYPE_* like DRIVER, FRONT_PASSENGER,
55                   REAR_PASSENGER and etc.
56    seatRow: Integer telling which row the seat is located. Row 1 is for front seats.
57    seatSide: left/center/right for known side. Or can use driver/center/oppositeDriver to
58              handle both right-hand driving and left-hand driving in one place.
59              If car's RHD / LHD is not specified, LHD will be assumed and driver side becomes
60              left.
61    -->
62    <string-array translatable="false" name="config_occupant_zones">
63        <item>occupantZoneId=0,occupantType=DRIVER,seatRow=1,seatSide=driver</item>
64    </string-array>
65    <!--
66        Specifies configuration of displays in system telling its usage / type and assigned
67        occupant.
68
69        Some examples are:
70        <item>displayPort=0,displayType=MAIN,occupantZoneId=0,inputTypes=DPAD_KEYS|
71            NAVIGATE_KEYS|ROTARY_NAVIGATION|TOUCH_SCREEN</item>
72        <item>displayPort=1,displayType=INSTRUMENT_CLUSTER,occupantZoneId=0,
73            inputTypes=DPAD_KEYS</item>
74        <item>displayPort=2,displayType=MAIN,occupantZoneId=1,
75            inputTypes=TOUCH_SCREEN</item>
76        <item>displayPort=3,displayType=MAIN,occupantZoneId=2,
77            inputTypes=TOUCH_SCREEN</item>
78        <item>displayUniqueId=virtual:com.example:MainD,displayType=MAIN,occupantZoneId=3,
79            inputTypes=TOUCH_SCREEN</item>
80
81        displayPort: Unique port id for the display.
82        displayType: Display type for the display. Use * part from
83                       CarOccupantZoneManager.DISPLAY_TYPE_* like MAIN, INSTRUMENT_CLUSTER and
84                       etc.
85        occupantZoneId: occupantZoneId specified from config_occupant_zones.
86        inputTypes: supported input types for the corresponding display.
87    -->
88    <string-array translatable="false" name="config_occupant_display_mapping">
89        <item>displayPort=0,displayType=MAIN,occupantZoneId=0,inputTypes=TOUCH_SCREEN|DPAD_KEYS|NAVIGATE_KEYS|ROTARY_NAVIGATION</item>
90        <item>displayPort=1,displayType=INSTRUMENT_CLUSTER,occupantZoneId=0,inputTypes=DPAD_KEYS</item>
91    </string-array>
92
93    <!-- A name of a camera device that provides the rearview through EVS service -->
94    <string-array name="config_carEvsService" translatable="false">
95        <item>serviceType=REARVIEW,cameraId=/dev/video10,activityName=com.android.car/com.google.android.car.evs.CarEvsCameraPreviewActivity</item>
96        <item>serviceType=FRONTVIEW,cameraId=/dev/video11</item>
97    </string-array>
98</resources>
99