1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  *   Licensed under the Apache License, Version 2.0 (the "License");
5  *   you may not use this file except in compliance with the License.
6  *   You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *   Unless required by applicable law or agreed to in writing, software
11  *   distributed under the License is distributed on an "AS IS" BASIS,
12  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *   See the License for the specific language governing permissions and
14  *   limitations under the License.
15  */
16 
17 package android.car.settings;
18 
19 /**
20  * System level car related settings.
21  */
22 public class CarSettings {
23 
24     /**
25      * Global car settings, containing preferences that always apply identically
26      * to all defined users.  Applications can read these but are not allowed to write;
27      * like the "Secure" settings, these are for preferences that the user must
28      * explicitly modify through the system UI or specialized APIs for those values.
29      *
30      * To read/write the global car settings, use {@link android.provider.Settings.Global}
31      * with the keys defined here.
32      */
33     public static final class Global {
34         /**
35          * Key for when to wake up to run garage mode.
36          */
37         public static final String KEY_GARAGE_MODE_WAKE_UP_TIME =
38                 "android.car.GARAGE_MODE_WAKE_UP_TIME";
39         /**
40          * Key for whether garage mode is enabled.
41          */
42         public static final String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
43         /**
44          * Key for garage mode maintenance window.
45          */
46         public static final String KEY_GARAGE_MODE_MAINTENANCE_WINDOW =
47                 "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
48         /**
49          * Key for music volume. This is used internally, changing this value will not change the
50          * volume.
51          *
52          * @hide
53          */
54         public static final String KEY_VOLUME_MUSIC = "android.car.VOLUME_MUSIC";
55         /**
56          * Key for navigation volume. This is used internally, changing this value will not change
57          * the volume.
58          *
59          * @hide
60          */
61         public static final String KEY_VOLUME_NAVIGATION = "android.car.VOLUME_NAVIGATION";
62         /**
63          * Key for voice command volume. This is used internally, changing this value will
64          * not change the volume.
65          *
66          * @hide
67          */
68         public static final String KEY_VOLUME_VOICE_COMMAND = "android.car.VOLUME_VOICE_COMMAND";
69         /**
70          * Key for call volume. This is used internally, changing this value will not change the
71          * volume.
72          *
73          * @hide
74          */
75         public static final String KEY_VOLUME_CALL = "android.car.VOLUME_CALL";
76         /**
77          * Key for alarm volume. This is used internally, changing this value will not change the
78          * volume.
79          *
80          * @hide
81          */
82         public static final String KEY_VOLUME_ALARM = "android.car.VOLUME_ALARM";
83         /**
84          * Key for notification volume. This is used internally, changing this value will not change
85          * the volume.
86          *
87          * @hide
88          */
89         public static final String KEY_VOLUME_NOTIFICATION = "android.car.VOLUME_NOTIFICATION";
90         /**
91          * Key for safety alert volume. This is used internally, changing this value will not
92          * change the volume.
93          *
94          * @hide
95          */
96         public static final String KEY_VOLUME_SAFETY_ALERT = "android.car.VOLUME_SAFETY_ALERT";
97         /**
98          * Key for cd volume. This is used internally, changing this value will not change the
99          * volume.
100          *
101          * @hide
102          */
103         public static final String KEY_VOLUME_CD_ROM = "android.car.VOLUME_CD_ROM";
104         /**
105          * Key for aux volume. This is used internally, changing this value will not change the
106          * volume.
107          *
108          * @hide
109          */
110         public static final String KEY_VOLUME_AUX = "android.car.VOLUME_AUX";
111         /**
112          * Key for system volume. This is used internally, changing this value will not change the
113          * volume.
114          *
115          * @hide
116          */
117         public static final String KEY_VOLUME_SYSTEM_SOUND = "android.car.VOLUME_SYSTEM";
118         /**
119          * Key for radio volume. This is used internally, changing this value will not change the
120          * volume.
121          *
122          * @hide
123          */
124         public static final String KEY_VOLUME_RADIO = "android.car.VOLUME_RADIO";
125     }
126 
127     /**
128      * Default garage mode wake up time 00:00
129      *
130      * @hide
131      */
132     public static final int[] DEFAULT_GARAGE_MODE_WAKE_UP_TIME = {0, 0};
133 
134     /**
135      * Default garage mode maintenance window 10 mins.
136      *
137      * @hide
138      */
139     public static final int DEFAULT_GARAGE_MODE_MAINTENANCE_WINDOW = 10 * 60 * 1000; // 10 mins
140 
141     /**
142      * @hide
143      */
144     public static final class Secure {
145 
146         /**
147          * Key for a list of devices to automatically connect on Bluetooth A2dp/Avrcp profiles
148          *
149          * @hide
150          */
151         public static final String KEY_BLUETOOTH_AUTOCONNECT_MUSIC_DEVICES =
152                 "android.car.BLUETOOTH_AUTOCONNECT_MUSIC_DEVICES";
153         /**
154          * Key for a list of devices to automatically connect on Bluetooth HFP & PBAP profiles
155          *
156          * @hide
157          */
158         public static final String KEY_BLUETOOTH_AUTOCONNECT_PHONE_DEVICES =
159                 "android.car.BLUETOOTH_AUTOCONNECT_PHONE_DEVICES";
160         /**
161          * Key for a list of devices to automatically connect on Bluetooth MAP profile
162          *
163          * @hide
164          */
165         public static final String KEY_BLUETOOTH_AUTOCONNECT_MESSAGING_DEVICES =
166                 "android.car.BLUETOOTH_AUTOCONNECT_MESSAGING_DEVICES";
167 
168     }
169 }
170