CarSettings.java revision acb6024180232a2c0b6bad6f14758ef28d8f63f7
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
17package android.car.settings;
18
19/**
20 * System level car related settings.
21 */
22public 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