• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2015 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<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
19     package="com.android.car"
20     coreApp="true"
21     android:sharedUserId="android.uid.system">
22
23    <original-package android:name="com.android.car"/>
24
25    <!-- Used for runtime permissions related to monitoring vehicle information. -->
26    <permission-group android:name="android.car.permission-group.CAR_MONITORING"
27         android:icon="@drawable/perm_group_car"
28         android:description="@string/car_permission_desc"
29         android:label="@string/car_permission_label"/>
30
31    <!-- Allows an application to read the vehicle energy information.
32         <p>Protection level: dangerous
33    -->
34    <permission android:name="android.car.permission.CAR_ENERGY"
35         android:permissionGroup="android.car.permission-group.CAR_MONITORING"
36         android:protectionLevel="dangerous"
37         android:label="@string/car_permission_label_energy"
38         android:description="@string/car_permission_desc_energy"/>
39
40    <!-- Allows an application to adjust the vehicle's range remaining information.
41         <p>Protection level: signature|privileged
42    -->
43    <permission android:name="android.car.permission.ADJUST_RANGE_REMAINING"
44         android:protectionLevel="signature|privileged"
45         android:label="@string/car_permission_label_adjust_range_remaining"
46         android:description="@string/car_permission_desc_adjust_range_remaining"/>
47
48    <!-- Allows an application to read the VIN information.
49         <p>Protection level: signature|privileged
50    -->
51    <permission android:name="android.car.permission.CAR_IDENTIFICATION"
52         android:protectionLevel="signature|privileged"
53         android:label="@string/car_permission_label_car_identification"
54         android:description="@string/car_permission_desc_car_identification"/>
55
56    <!-- Allows an application to control the vehicle HVAC.
57         <p>Protection level: signature|privileged
58    -->
59    <permission android:name="android.car.permission.CONTROL_CAR_CLIMATE"
60         android:protectionLevel="signature|privileged"
61         android:label="@string/car_permission_label_hvac"
62         android:description="@string/car_permission_desc_hvac"/>
63
64    <!-- Allows an application to control the vehicle doors.
65         <p>Protection level: signature|privileged
66    -->
67    <permission android:name="android.car.permission.CONTROL_CAR_DOORS"
68         android:protectionLevel="signature|privileged"
69         android:label="@string/car_permission_label_control_car_doors"
70         android:description="@string/car_permission_desc_control_car_doors"/>
71
72    <!-- Allows an application to control the vehicle windows.
73         <p>Protection level: signature|privileged
74    -->
75    <permission android:name="android.car.permission.CONTROL_CAR_WINDOWS"
76         android:protectionLevel="signature|privileged"
77         android:label="@string/car_permission_label_control_car_windows"
78         android:description="@string/car_permission_desc_control_car_windows"/>
79
80    <!-- Allows an application to control the vehicle mirrors.
81         <p>Protection level: signature|privileged
82    -->
83    <permission android:name="android.car.permission.CONTROL_CAR_MIRRORS"
84         android:protectionLevel="signature|privileged"
85         android:label="@string/car_permission_label_control_car_mirrors"
86         android:description="@string/car_permission_desc_control_car_mirrors"/>
87
88    <!-- Allows an application to control the vehicle seats.
89         <p>Protection level: signature|privileged
90    -->
91    <permission android:name="android.car.permission.CONTROL_CAR_SEATS"
92         android:protectionLevel="signature|privileged"
93         android:label="@string/car_permission_label_control_car_seats"
94         android:description="@string/car_permission_desc_control_car_seats"/>
95
96    <!-- Allows an application to read the vehicle mileage information.
97         <p>Protection level: signature|privileged
98    -->
99    <permission android:name="android.car.permission.CAR_MILEAGE"
100         android:protectionLevel="signature|privileged"
101         android:label="@string/car_permission_label_mileage"
102         android:description="@string/car_permission_desc_mileage"/>
103
104    <!-- Allows an application to read the vehicle tire pressure information.
105         <p>Protection level: signature|privileged
106    -->
107    <permission android:name="android.car.permission.CAR_TIRES"
108         android:protectionLevel="signature|privileged"
109         android:label="@string/car_permission_label_car_tires"
110         android:description="@string/car_permission_desc_car_tires"/>
111
112    <!-- Allows an application to read the vehicle steering angle information.
113         <p>Protection level: signature|privileged
114    -->
115    <permission android:name="android.car.permission.READ_CAR_STEERING"
116         android:protectionLevel="signature|privileged"
117         android:label="@string/car_permission_label_car_steering"
118         android:description="@string/car_permission_desc_car_steering"/>
119
120    <!-- Allows an application to read the display units for distance, fuel, tire pressure,
121         EV battery and fuel consumption.
122         <p>Protection level: normal
123    -->
124    <permission android:name="android.car.permission.READ_CAR_DISPLAY_UNITS"
125         android:protectionLevel="normal"
126         android:label="@string/car_permission_label_read_car_display_units"
127         android:description="@string/car_permission_desc_read_car_display_units"/>
128
129    <!-- Allows an application to control the display units for distance, fuel, tire pressure,
130         EV battery and fuel consumption.
131         <p>Protection level: normal
132    -->
133    <permission android:name="android.car.permission.CONTROL_CAR_DISPLAY_UNITS"
134         android:protectionLevel="normal"
135         android:label="@string/car_permission_label_control_car_display_units"
136         android:description="@string/car_permission_desc_control_car_display_units"/>
137
138    <!-- Allows an application to read the vehicle speed.
139         <p>Protection level: dangerous
140    -->
141    <permission android:name="android.car.permission.CAR_SPEED"
142         android:permissionGroup="android.permission-group.LOCATION"
143         android:protectionLevel="dangerous"
144         android:label="@string/car_permission_label_speed"
145         android:description="@string/car_permission_desc_speed"/>
146
147    <!-- Allows an application to read the vehicle fuel and charge port status.
148         <p>Protection level: normal
149    -->
150    <permission android:name="android.car.permission.CAR_ENERGY_PORTS"
151         android:protectionLevel="normal"
152         android:label="@string/car_permission_label_car_energy_ports"
153         android:description="@string/car_permission_desc_car_energy_ports"/>
154
155    <!-- Allows an application to control the vehicle fuel and charge port status.
156         <p>Protection level: signature|privileged
157    -->
158    <permission android:name="android.car.permission.CONTROL_CAR_ENERGY_PORTS"
159         android:protectionLevel="signature|privileged"
160         android:label="@string/car_permission_label_control_car_energy_ports"
161         android:description="@string/car_permission_desc_control_car_energy_ports"/>
162
163    <!-- Allows an application to read the vehicle engine information. For example, it allows an
164         application to read the engine oil level, oil temperature, coolant temperature and RPM.
165         <p>Protection level: signature|privileged
166    -->
167    <permission android:name="android.car.permission.CAR_ENGINE_DETAILED"
168         android:protectionLevel="signature|privileged"
169         android:label="@string/car_permission_label_car_engine_detailed"
170         android:description="@string/car_permission_desc_car_engine_detailed"/>
171
172    <!-- Allows an application to read the vehicle dynamic state information. For example, it
173         allows an application to read the ABS and traction control status.
174         <p>Protection level: signature|privileged
175    -->
176    <permission android:name="android.car.permission.CAR_DYNAMICS_STATE"
177         android:protectionLevel="signature|privileged"
178         android:label="@string/car_permission_label_vehicle_dynamics_state"
179         android:description="@string/car_permission_desc_vehicle_dynamics_state"/>
180
181    <!-- Allows an application to access the vehicle vendor channel to exchange vendor-specific information.
182         <p>Protection level: signature|privileged
183    -->
184    <permission android:name="android.car.permission.CAR_VENDOR_EXTENSION"
185         android:protectionLevel="signature|privileged"
186         android:label="@string/car_permission_label_vendor_extension"
187         android:description="@string/car_permission_desc_vendor_extension"/>
188
189    <!-- Allows an application to project an interface from a phone to the vehicle display.
190         <p>Protection level: signature|privileged
191    -->
192    <permission android:name="android.car.permission.CAR_PROJECTION"
193         android:protectionLevel="signature|privileged"
194         android:label="@string/car_permission_label_projection"
195         android:description="@string/car_permission_desc_projection"/>
196
197    <!-- Allows an application to get the status of other applications projecting to the vehicle display.
198         technologies status changes.
199         <p>Protection level: signature|privileged
200    -->
201    <permission android:name="android.car.permission.ACCESS_CAR_PROJECTION_STATUS"
202         android:protectionLevel="signature|privileged"
203         android:label="@string/car_permission_label_access_projection_status"
204         android:description="@string/car_permission_desc_access_projection_status"/>
205
206    <!-- Must be required by projection service to ensure only system can bind to it.
207         <p>Protection level: signature
208    -->
209    <permission android:name="android.car.permission.BIND_PROJECTION_SERVICE"
210         android:protectionLevel="signature"
211         android:label="@string/car_permission_label_bind_projection_service"
212         android:description="@string/car_permission_desc_bind_projection_service"/>
213
214    <!-- Allows an application to emulate the vehicle HAL for testing purposes.
215         <p>Protection level: signature|privileged
216    -->
217    <permission android:name="android.car.permission.CAR_MOCK_VEHICLE_HAL"
218         android:protectionLevel="signature|privileged"
219         android:label="@string/car_permission_label_mock_vehicle_hal"
220         android:description="@string/car_permission_desc_mock_vehicle_hal"/>
221
222    <!-- Allows an application to read the vehicle car basic information. For example, it allows
223         an application to read the vehicle Make, Model, Model Year, fuel capacity, fuel type,
224         EV battery capacity, EV connection type, fuel door location and driver seat location.
225         <p>Protection level: normal
226    -->
227    <permission android:name="android.car.permission.CAR_INFO"
228         android:protectionLevel="normal"
229         android:label="@string/car_permission_label_car_info"
230         android:description="@string/car_permission_desc_car_info"/>
231
232    <!-- Allows an application to read information of car's vendor permission.
233         <p>Protection level: signature|privileged
234    -->
235    <permission android:name="android.car.permission.READ_CAR_VENDOR_PERMISSION_INFO"
236         android:protectionLevel="signature|privileged"
237         android:label="@string/car_permission_label_vendor_permission_info"
238         android:description="@string/car_permission_desc_vendor_permission_info"/>
239
240    <!-- Allows an application to read the vehicle exterior environment information. For example,
241         it allows an application to read the vehicle exterior temperature and night mode status.
242         <p>Protection level: normal
243    -->
244    <permission android:name="android.car.permission.CAR_EXTERIOR_ENVIRONMENT"
245         android:protectionLevel="normal"
246         android:label="@string/car_permission_label_car_exterior_environment"
247         android:description="@string/car_permission_desc_car_exterior_environment"/>
248
249    <!-- Allows an application to read and write car's epoch time.
250         <p>Protection level: signature|privileged
251    -->
252    <permission android:name="android.car.permission.CAR_EPOCH_TIME"
253                android:protectionLevel="signature|privileged"
254                android:label="@string/car_permission_label_car_epoch_time"
255                android:description="@string/car_permission_desc_car_epoch_time"/>
256
257    <!-- Allows an application to read and write car's storage encryption binding seed.
258         <p>Protection level: signature|privileged
259    -->
260    <permission android:name="android.car.permission.STORAGE_ENCRYPTION_BINDING_SEED"
261                android:protectionLevel="signature|privileged"
262                android:label="@string/car_permission_label_encryption_binding_seed"
263                android:description="@string/car_permission_desc_encryption_binding_seed"/>
264
265    <!-- Allows an application to read the vehicle exterior lights state.
266         <p>Protection level: signature|privileged
267    -->
268    <permission android:name="android.car.permission.CAR_EXTERIOR_LIGHTS"
269         android:protectionLevel="signature|privileged"
270         android:label="@string/car_permission_label_car_exterior_lights"
271         android:description="@string/car_permission_desc_car_exterior_lights"/>
272
273    <!-- Allows an application to control the vehicle exterior lights.
274         <p>Protection level: signature|privileged
275    -->
276    <permission android:name="android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS"
277         android:protectionLevel="signature|privileged"
278         android:label="@string/car_permission_label_control_car_exterior_lights"
279         android:description="@string/car_permission_desc_control_car_exterior_lights"/>
280
281    <!-- Allows an application to read the vehicle interior lights state.
282         <p>Protection level: signature|privileged
283    -->
284    <permission android:name="android.car.permission.READ_CAR_INTERIOR_LIGHTS"
285         android:protectionLevel="signature|privileged"
286         android:label="@string/car_permission_label_car_interior_lights"
287         android:description="@string/car_permission_desc_car_interior_lights"/>
288
289    <!-- Allows an application to control the vehicle interior lights state.
290         <p>Protection level: signature|privileged
291    -->
292    <permission android:name="android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS"
293         android:protectionLevel="signature|privileged"
294         android:label="@string/car_permission_label_control_car_interior_lights"
295         android:description="@string/car_permission_desc_control_car_interior_lights"/>
296
297    <!-- Allows an application to control the vehicle power state.
298         <p>Protection level: signature|privileged
299    -->
300    <permission android:name="android.car.permission.CAR_POWER"
301         android:protectionLevel="signature|privileged"
302         android:label="@string/car_permission_label_car_power"
303         android:description="@string/car_permission_desc_car_power"/>
304
305    <!-- Allows an application to read the vehicle powertrain information. For example, it allows
306         an application to read the vehicle current gear, ignition state or parking break status.
307         <p>Protection level: normal
308    -->
309    <permission android:name="android.car.permission.CAR_POWERTRAIN"
310         android:protectionLevel="normal"
311         android:label="@string/car_permission_label_car_powertrain"
312         android:description="@string/car_permission_desc_car_powertrain"/>
313
314    <!-- Allows an application to access {@link android.car.navigation.CarNavigationStatusManager}
315         to report navigation data. This information may be displayed by the vehicle in the
316         instrument cluster, head-up display or other locations.
317         <p>Protection level: signature|privileged
318    -->
319    <permission android:name="android.car.permission.CAR_NAVIGATION_MANAGER"
320         android:protectionLevel="signature|privileged"
321         android:label="@string/car_permission_car_navigation_manager"
322         android:description="@string/car_permission_desc_car_navigation_manager"/>
323
324    <!-- Allows an application to read vehicle diagnostic information, including vendor-specific
325         information.
326         <p>Protection level: signature|privileged
327    -->
328    <permission android:name="android.car.permission.CAR_DIAGNOSTICS"
329         android:protectionLevel="signature|privileged"
330         android:label="@string/car_permission_label_diag_read"
331         android:description="@string/car_permission_desc_diag_read"/>
332
333    <!-- Allows an application to clear diagnostic information from the vehicle.
334         <p>Protection level: signature|privileged
335    -->
336    <permission android:name="android.car.permission.CLEAR_CAR_DIAGNOSTICS"
337         android:protectionLevel="signature|privileged"
338         android:label="@string/car_permission_label_diag_clear"
339         android:description="@string/car_permission_desc_diag_clear"/>
340
341    <!-- Must be required by VMS client service to ensure only system can bind to it.
342         <p>Protection level: signature
343    -->
344    <permission android:name="android.car.permission.BIND_VMS_CLIENT"
345         android:protectionLevel="signature"
346         android:label="@string/car_permission_label_bind_vms_client"
347         android:description="@string/car_permission_desc_bind_vms_client"/>
348
349    <!-- Allows an application to publich VMS messages.
350         <p>Protection level: signature|privileged
351    -->
352    <permission android:name="android.car.permission.VMS_PUBLISHER"
353         android:protectionLevel="signature|privileged"
354         android:label="@string/car_permission_label_vms_publisher"
355         android:description="@string/car_permission_desc_vms_publisher"/>
356
357    <!-- Allows an application to subscribe to VMS messages.
358         <p>Protection level: signature|privileged
359    -->
360    <permission android:name="android.car.permission.VMS_SUBSCRIBER"
361         android:protectionLevel="signature|privileged"
362         android:label="@string/car_permission_label_vms_subscriber"
363         android:description="@string/car_permission_desc_vms_subscriber"/>
364
365    <!-- Allows an application to read the vehicle driving state.
366         <p>Protection level: signature|privileged
367    -->
368    <permission android:name="android.car.permission.CAR_DRIVING_STATE"
369         android:protectionLevel="signature|privileged"
370         android:label="@string/car_permission_label_driving_state"
371         android:description="@string/car_permission_desc_driving_state"/>
372
373    <!-- Allows an application to use car's telemetry service.
374         <p>Protection level: signature|privileged
375    -->
376    <permission android:name="android.car.permission.USE_CAR_TELEMETRY_SERVICE"
377                android:protectionLevel="signature|privileged"
378                android:label="@string/car_permission_label_use_telemetry_service"
379                android:description="@string/car_permission_desc_use_telemetry_service"/>
380
381    <!-- Allows an application to request to launch the EVS previewing activity.
382         <p>Protection level: signature|privileged
383    -->
384    <permission android:name="android.car.permission.REQUEST_CAR_EVS_ACTIVITY"
385                android:protectionLevel="signature|privileged"
386                android:label="@string/car_permission_label_request_evs_activity"
387                android:description="@string/car_permission_desc_request_evs_activity"/>
388
389    <!-- Allows an application to control the EVS previewing activity.
390         <p>Protection level: signature|privileged
391    -->
392    <permission android:name="android.car.permission.CONTROL_CAR_EVS_ACTIVITY"
393                android:protectionLevel="signature|privileged"
394                android:label="@string/car_permission_label_control_evs_activity"
395                android:description="@string/car_permission_desc_control_evs_activity"/>
396
397    <!-- Allows an application to use EVS camera streams.
398         <p>Protection level: signature|privileged
399    -->
400    <permission android:name="android.car.permission.USE_CAR_EVS_CAMERA"
401                android:protectionLevel="signature|privileged"
402                android:label="@string/car_permission_label_use_evs_camera"
403                android:description="@string/car_permission_desc_use_evs_camera"/>
404
405    <!-- Allows an application to monitor a current status of the EVS service.
406         <p>Protection level: signature|privileged
407    -->
408    <permission android:name="android.car.permission.MONITOR_CAR_EVS_STATUS"
409                android:protectionLevel="signature|privileged"
410                android:label="@string/car_permission_label_monitor_evs_status"
411                android:description="@string/car_permission_desc_monitor_evs_status"/>
412    <!--  may replace this with system permission if proper one is defined. -->
413    <eat-comment/>
414    <!-- Allows an application to block other applications for driver distraction purposes.
415         Note: This permission may be replaced in future versions.
416         <p>Protection level: signature|privileged
417    -->
418    <permission android:name="android.car.permission.CONTROL_APP_BLOCKING"
419         android:protectionLevel="signature|privileged"
420         android:label="@string/car_permission_label_control_app_blocking"
421         android:description="@string/car_permission_desc_control_app_blocking"/>
422
423    <!-- Allows an application to control the vehicle audio volume.
424         <p>Protection level: signature|privileged
425    -->
426    <permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME"
427         android:protectionLevel="signature|privileged"
428         android:label="@string/car_permission_label_audio_volume"
429         android:description="@string/car_permission_desc_audio_volume"/>
430
431    <!-- Allows an application to control the vehicle audio settings.
432         <p>Protection level: signature|privileged
433    -->
434    <permission android:name="android.car.permission.CAR_CONTROL_AUDIO_SETTINGS"
435         android:protectionLevel="signature|privileged"
436         android:label="@string/car_permission_label_audio_settings"
437         android:description="@string/car_permission_desc_audio_settings"/>
438
439    <!-- Must be required by instrument cluster service to ensure only system can bind to it.
440         <p>Protection level: signature
441    -->
442    <permission android:name="android.car.permission.RECEIVE_CAR_AUDIO_DUCKING_EVENTS"
443         android:protectionLevel="system|signature"
444         android:label="@string/car_permission_label_receive_ducking"
445         android:description="@string/car_permission_desc_receive_ducking"/>
446
447    <permission android:name="android.car.permission.BIND_INSTRUMENT_CLUSTER_RENDERER_SERVICE"
448         android:protectionLevel="signature"
449         android:label="@string/car_permission_label_bind_instrument_cluster_rendering"
450         android:description="@string/car_permission_desc_bind_instrument_cluster_rendering"/>
451
452    <!-- Allows an application to handle the vehicle input events.
453         <p>Protection level: signature
454    -->
455    <permission android:name="android.car.permission.BIND_CAR_INPUT_SERVICE"
456         android:protectionLevel="signature"
457         android:label="@string/car_permission_label_bind_input_service"
458         android:description="@string/car_permission_desc_bind_input_service"/>
459
460    <!-- Allows an application to declare activities to be displayed in the instrument cluster.
461         <p>Protection level: signature|privileged
462    -->
463    <permission android:name="android.car.permission.CAR_DISPLAY_IN_CLUSTER"
464         android:protectionLevel="signature|privileged"
465         android:label="@string/car_permission_car_display_in_cluster"
466         android:description="@string/car_permission_desc_car_display_in_cluster"/>
467
468    <!-- Allows an application to lunch applications in the instrument cluster.
469         <p>Protection level: signature|privileged
470    -->
471    <permission android:name="android.car.permission.CAR_INSTRUMENT_CLUSTER_CONTROL"
472         android:protectionLevel="signature|privileged"
473         android:label="@string/car_permission_car_cluster_control"
474         android:description="@string/car_permission_desc_car_cluster_control"/>
475
476    <!-- Allows an application to communicate with a device in AOAP mode.
477         <p>Protection level: signature|privileged
478    -->
479    <permission android:name="android.car.permission.CAR_HANDLE_USB_AOAP_DEVICE"
480         android:protectionLevel="signature|privileged"
481         android:label="@string/car_permission_label_car_handle_usb_aoap_device"
482         android:description="@string/car_permission_desc_car_handle_usb_aoap_device"/>
483
484    <!-- Allows an application to configure UX restrictions in the device.
485         <p>Protection level: signature|privileged
486    -->
487    <permission android:name="android.car.permission.CAR_UX_RESTRICTIONS_CONFIGURATION"
488         android:protectionLevel="signature|privileged"
489         android:label="@string/car_permission_label_car_ux_restrictions_configuration"
490         android:description="@string/car_permission_desc_car_ux_restrictions_configuration"/>
491
492    <!-- Allows an application to read state data from the 'Occupant Awareness System'.
493         <p>Protection level: signature|privileged
494    -->
495    <permission android:name="android.car.permission.READ_CAR_OCCUPANT_AWARENESS_STATE"
496         android:protectionLevel="signature|privileged"
497         android:label="@string/car_permission_label_read_car_occupant_awareness_state"
498         android:description="@string/car_permission_desc_read_car_occupant_awareness_state"/>
499
500    <!-- Allows an application to access private display id.
501         <p>Protection level: signature|privileged
502    -->
503    <permission android:name="android.car.permission.ACCESS_PRIVATE_DISPLAY_ID"
504                android:protectionLevel="signature|privileged"
505                android:label="@string/car_permission_label_access_private_display_id"
506                android:description="@string/car_permission_desc_access_private_display_id"/>
507
508    <!-- Allows an application to control the detection graph for the 'Occupant Awareness System'.
509         <p>Protection level: signature|privileged
510    -->
511    <permission android:name="android.car.permission.CONTROL_CAR_OCCUPANT_AWARENESS_SYSTEM"
512         android:protectionLevel="signature|privileged"
513         android:label="@string/car_permission_label_control_car_occupant_awareness_system"
514         android:description="@string/car_permission_desc_control_car_occupant_awareness_system"/>
515
516    <!-- Allows an application to monitor flash storage usage.
517         <p>Protection level: signature|privileged
518    -->
519    <permission android:name="android.car.permission.STORAGE_MONITORING"
520         android:protectionLevel="signature|privileged"
521         android:label="@string/car_permission_label_storage_monitoring"
522         android:description="@string/car_permission_desc_storage_monitoring"/>
523
524    <!-- Allows an application to enroll trusted devices.
525         <p>Protection level: signature|privileged
526    -->
527    <permission android:name="android.car.permission.CAR_ENROLL_TRUST"
528         android:protectionLevel="signature|privileged"
529         android:label="@string/car_permission_label_enroll_trust"
530         android:description="@string/car_permission_desc_enroll_trust"/>
531
532    <!-- Allows a test application to control car service's testing mode.
533         This is only for platform level testing.
534         <p>Protection level: signature|privileged
535    -->
536    <permission android:name="android.car.permission.CAR_TEST_SERVICE"
537         android:protectionLevel="signature|privileged"
538         android:label="@string/car_permission_label_car_test_service"
539         android:description="@string/car_permission_desc_car_test_service"/>
540
541    <!-- Allows system app to enable / disable / query features in the system.
542         <p>Protection level: signature|privileged
543    -->
544    <permission android:name="android.car.permission.CONTROL_CAR_FEATURES"
545         android:protectionLevel="signature|privileged"
546         android:label="@string/car_permission_label_control_car_features"
547         android:description="@string/car_permission_desc_control_car_features"/>
548
549    <!-- Allows an application to use car watchdog service.
550         <p>Protection level: signature|privileged
551    -->
552    <permission android:name="android.car.permission.USE_CAR_WATCHDOG"
553         android:protectionLevel="signature|privileged"
554         android:label="@string/car_permission_label_use_car_watchdog"
555         android:description="@string/car_permission_desc_use_car_watchdog"/>
556
557    <!-- Allows an application to control car watchdog service configurations.
558         <p>Protection level: signature|privileged
559    -->
560    <permission android:name="android.car.permission.CONTROL_CAR_WATCHDOG_CONFIG"
561         android:protectionLevel="signature|privileged"
562         android:label="@string/car_permission_label_control_car_watchdog_config"
563         android:description="@string/car_permission_desc_control_car_watchdog_config"/>
564
565    <!-- Allows an application to collect car watchdog service metrics.
566         <p>Protection level: signature|privileged
567    -->
568    <permission android:name="android.car.permission.COLLECT_CAR_WATCHDOG_METRICS"
569         android:protectionLevel="signature|privileged"
570         android:label="@string/car_permission_label_collect_car_watchdog_metrics"
571         android:description="@string/car_permission_desc_collect_car_watchdog_metrics"/>
572
573    <!-- Allows an application to read vendor properties related with windows.
574         <p>Protection level: signature|privileged
575    -->
576    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_WINDOW"
577         android:protectionLevel="signature|privileged"
578         android:label="@string/car_permission_label_get_car_vendor_category_window"
579         android:description="@string/car_permission_desc_get_car_vendor_category_window"/>
580
581    <!-- Allows an application to control vendor properties related with windows.
582         <p>Protection level: signature|privileged
583    -->
584    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_WINDOW"
585         android:protectionLevel="signature|privileged"
586         android:label="@string/car_permission_label_set_car_vendor_category_window"
587         android:description="@string/car_permission_desc_set_car_vendor_category_window"/>
588
589    <!-- Allows an application to read vendor properties related with doors.
590         <p>Protection level: signature|privileged
591    -->
592    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_DOOR"
593         android:protectionLevel="signature|privileged"
594         android:label="@string/car_permission_label_get_car_vendor_category_door"
595         android:description="@string/car_permission_desc_get_car_vendor_category_door"/>
596
597    <!-- Allows an application to control vendor properties related with doors.
598         <p>Protection level: signature|privileged
599    -->
600    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_DOOR"
601         android:protectionLevel="signature|privileged"
602         android:label="@string/car_permission_label_set_car_vendor_category_door"
603         android:description="@string/car_permission_desc_set_car_vendor_category_door"/>
604
605    <!-- Allows an application to read vendor properties related with seats.
606         <p>Protection level: signature|privileged
607    -->
608    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_SEAT"
609         android:protectionLevel="signature|privileged"
610         android:label="@string/car_permission_label_get_car_vendor_category_seat"
611         android:description="@string/car_permission_desc_get_car_vendor_category_seat"/>
612
613    <!-- Allows an application to control vendor properties related with seats.
614         <p>Protection level: signature|privileged
615    -->
616    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_SEAT"
617         android:protectionLevel="signature|privileged"
618         android:label="@string/car_permission_label_set_car_vendor_category_seat"
619         android:description="@string/car_permission_desc_set_car_vendor_category_seat"/>
620
621    <!-- Allows an application to read vendor properties related with mirrors.
622         <p>Protection level: signature|privileged
623    -->
624    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_MIRROR"
625         android:protectionLevel="signature|privileged"
626         android:label="@string/car_permission_label_get_car_vendor_category_mirror"
627         android:description="@string/car_permission_desc_get_car_vendor_category_mirror"/>
628
629    <!-- Allows an application to control vendor properties related with mirrors.
630         <p>Protection level: signature|privileged
631    -->
632    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_MIRROR"
633         android:protectionLevel="signature|privileged"
634         android:label="@string/car_permission_label_set_car_vendor_category_mirror"
635         android:description="@string/car_permission_desc_set_car_vendor_category_mirror"/>
636
637    <!-- Allows an application to read vendor properties related with car information.
638         <p>Protection level: signature|privileged
639    -->
640    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_INFO"
641         android:protectionLevel="signature|privileged"
642         android:label="@string/car_permission_label_get_car_vendor_category_info"
643         android:description="@string/car_permission_desc_get_car_vendor_category_info"/>
644
645    <!-- Allows an application to control vendor properties related with car information.
646         <p>Protection level: signature|privileged
647    -->
648    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_INFO"
649         android:protectionLevel="signature|privileged"
650         android:label="@string/car_permission_label_set_car_vendor_category_info"
651         android:description="@string/car_permission_desc_set_car_vendor_category_info"/>
652
653    <!-- Allows an application to read vendor properties related with engine.
654         <p>Protection level: signature|privileged
655    -->
656    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_ENGINE"
657         android:protectionLevel="signature|privileged"
658         android:label="@string/car_permission_label_get_car_vendor_category_engine"
659         android:description="@string/car_permission_desc_get_car_vendor_category_engine"/>
660
661    <!-- Allows an application to control vendor properties related with engine.
662         <p>Protection level: signature|privileged
663    -->
664    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_ENGINE"
665         android:protectionLevel="signature|privileged"
666         android:label="@string/car_permission_label_set_car_vendor_category_engine"
667         android:description="@string/car_permission_desc_set_car_vendor_category_engine"/>
668
669    <!-- Allows an application to read vendor properties related with HVAC.
670         <p>Protection level: signature|privileged
671    -->
672    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_HVAC"
673         android:protectionLevel="signature|privileged"
674         android:label="@string/car_permission_label_get_car_vendor_category_hvac"
675         android:description="@string/car_permission_desc_get_car_vendor_category_hvac"/>
676
677    <!-- Allows an application to control vendor properties related with hvac.
678         <p>Protection level: signature|privileged
679    -->
680    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_HVAC"
681         android:protectionLevel="signature|privileged"
682         android:label="@string/car_permission_label_set_car_vendor_category_hvac"
683         android:description="@string/car_permission_desc_set_car_vendor_category_hvac"/>
684
685    <!-- Allows an application to read vendor properties related with light.
686         <p>Protection level: signature|privileged
687    -->
688    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_LIGHT"
689         android:protectionLevel="signature|privileged"
690         android:label="@string/car_permission_label_get_car_vendor_category_light"
691         android:description="@string/car_permission_desc_get_car_vendor_category_light"/>
692
693    <!-- Allows an application to control vendor properties related with light.
694         <p>Protection level: signature|privileged
695    -->
696    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_LIGHT"
697         android:protectionLevel="signature|privileged"
698         android:label="@string/car_permission_label_set_car_vendor_category_light"
699         android:description="@string/car_permission_desc_set_car_vendor_category_light"/>
700
701    <!-- Allows an application to access vendor properties in category 1.
702         <p>Protection level: signature|privileged
703    -->
704    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_1"
705         android:protectionLevel="signature|privileged"
706         android:label="@string/car_permission_label_get_car_vendor_category_1"
707         android:description="@string/car_permission_desc_get_car_vendor_category_1"/>
708
709    <!-- Allows an application to control vendor properties in category 1.
710         <p>Protection level: signature|privileged
711    -->
712    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_1"
713         android:protectionLevel="signature|privileged"
714         android:label="@string/car_permission_label_set_car_vendor_category_1"
715         android:description="@string/car_permission_desc_set_car_vendor_category_1"/>
716
717    <!-- Allows an application to access vendor properties in category 2.
718         <p>Protection level: signature|privileged
719    -->
720    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_2"
721         android:protectionLevel="signature|privileged"
722         android:label="@string/car_permission_label_get_car_vendor_category_2"
723         android:description="@string/car_permission_desc_get_car_vendor_category_2"/>
724
725    <!-- Allows an application to control vendor properties in category 2.
726         <p>Protection level: signature|privileged
727    -->
728    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_2"
729         android:protectionLevel="signature|privileged"
730         android:label="@string/car_permission_label_set_car_vendor_category_2"
731         android:description="@string/car_permission_desc_set_car_vendor_category_2"/>
732
733    <!-- Allows an application to access vendor properties in category 3.
734         <p>Protection level: signature|privileged
735    -->
736    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_3"
737         android:protectionLevel="signature|privileged"
738         android:label="@string/car_permission_label_get_car_vendor_category_3"
739         android:description="@string/car_permission_desc_get_car_vendor_category_3"/>
740
741    <!-- Allows an application to control vendor properties in category 3.
742         <p>Protection level: signature|privileged
743    -->
744    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_3"
745         android:protectionLevel="signature|privileged"
746         android:label="@string/car_permission_label_set_car_vendor_category_3"
747         android:description="@string/car_permission_desc_set_car_vendor_category_3"/>
748
749    <!-- Allows an application to access vendor properties in category 4.
750         <p>Protection level: signature|privileged
751    -->
752    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_4"
753         android:protectionLevel="signature|privileged"
754         android:label="@string/car_permission_label_get_car_vendor_category_4"
755         android:description="@string/car_permission_desc_get_car_vendor_category_4"/>
756
757    <!-- Allows an application to control vendor properties in category 4.
758         <p>Protection level: signature|privileged
759    -->
760    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_4"
761         android:protectionLevel="signature|privileged"
762         android:label="@string/car_permission_label_set_car_vendor_category_4"
763         android:description="@string/car_permission_desc_set_car_vendor_category_4"/>
764
765    <!-- Allows an application to access vendor properties in category 5.
766         <p>Protection level: signature|privileged
767    -->
768    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_5"
769         android:protectionLevel="signature|privileged"
770         android:label="@string/car_permission_label_get_car_vendor_category_5"
771         android:description="@string/car_permission_desc_get_car_vendor_category_5"/>
772
773    <!-- Allows an application to control vendor properties in category 5.
774         <p>Protection level: signature|privileged
775    -->
776    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_5"
777         android:protectionLevel="signature|privileged"
778         android:label="@string/car_permission_label_set_car_vendor_category_5"
779         android:description="@string/car_permission_desc_set_car_vendor_category_5"/>
780
781    <!-- Allows an application to access vendor properties in category 6.
782         <p>Protection level: signature|privileged
783    -->
784    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_6"
785         android:protectionLevel="signature|privileged"
786         android:label="@string/car_permission_label_get_car_vendor_category_6"
787         android:description="@string/car_permission_desc_get_car_vendor_category_6"/>
788
789    <!-- Allows an application to control vendor properties in category 6.
790         <p>Protection level: signature|privileged
791    -->
792    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_6"
793         android:protectionLevel="signature|privileged"
794         android:label="@string/car_permission_label_set_car_vendor_category_6"
795         android:description="@string/car_permission_desc_set_car_vendor_category_6"/>
796
797    <!-- Allows an application to access vendor properties in category 7.
798         <p>Protection level: signature|privileged
799    -->
800    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_7"
801         android:protectionLevel="signature|privileged"
802         android:label="@string/car_permission_label_get_car_vendor_category_7"
803         android:description="@string/car_permission_desc_get_car_vendor_category_7"/>
804
805    <!-- Allows an application to control vendor properties in category 7.
806         <p>Protection level: signature|privileged
807    -->
808    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_7"
809         android:protectionLevel="signature|privileged"
810         android:label="@string/car_permission_label_set_car_vendor_category_7"
811         android:description="@string/car_permission_desc_set_car_vendor_category_7"/>
812
813    <!-- Allows an application to access vendor properties in category 8.
814         <p>Protection level: signature|privileged
815    -->
816    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_8"
817         android:protectionLevel="signature|privileged"
818         android:label="@string/car_permission_label_get_car_vendor_category_8"
819         android:description="@string/car_permission_desc_get_car_vendor_category_8"/>
820
821    <!-- Allows an application to control vendor properties in category 8.
822         <p>Protection level: signature|privileged
823    -->
824    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_8"
825         android:protectionLevel="signature|privileged"
826         android:label="@string/car_permission_label_set_car_vendor_category_8"
827         android:description="@string/car_permission_desc_set_car_vendor_category_8"/>
828
829    <!-- Allows an application to access vendor properties in category 9.
830         <p>Protection level: signature|privileged
831    -->
832    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_9"
833         android:protectionLevel="signature|privileged"
834         android:label="@string/car_permission_label_get_car_vendor_category_9"
835         android:description="@string/car_permission_desc_get_car_vendor_category_9"/>
836
837    <!-- Allows an application to control vendor properties in category 9.
838         <p>Protection level: signature|privileged
839    -->
840    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_9"
841         android:protectionLevel="signature|privileged"
842         android:label="@string/car_permission_label_set_car_vendor_category_9"
843         android:description="@string/car_permission_desc_set_car_vendor_category_9"/>
844
845    <!-- Allows an application to access vendor properties in category 10.
846         <p>Protection level: signature|privileged
847    -->
848    <permission android:name="android.car.permission.GET_CAR_VENDOR_CATEGORY_10"
849         android:protectionLevel="signature|privileged"
850         android:label="@string/car_permission_label_get_car_vendor_category_10"
851         android:description="@string/car_permission_desc_get_car_vendor_category_10"/>
852
853    <!-- Allows an application to control vendor properties in category 10.
854         <p>Protection level: signature|privileged
855    -->
856    <permission android:name="android.car.permission.SET_CAR_VENDOR_CATEGORY_10"
857         android:protectionLevel="signature|privileged"
858         android:label="@string/car_permission_label_set_car_vendor_category_10"
859         android:description="@string/car_permission_desc_set_car_vendor_category_10"/>
860
861    <!-- Allows an application to receive Car input events.
862         <p>Protection level: signature|privileged
863    -->
864    <permission android:name="android.car.permission.CAR_MONITOR_INPUT"
865                android:protectionLevel="signature|privileged"
866                android:label="@string/car_permission_label_monitor_input"
867                android:description="@string/car_permission_desc_monitor_input"/>
868
869    <!-- Allows an application to get the current power policy or to be notified of power policy
870         change.
871         <p>Protection level: normal
872    -->
873    <permission android:name="android.car.permission.READ_CAR_POWER_POLICY"
874                android:protectionLevel="normal"
875                android:label="@string/car_permission_label_read_car_power_policy"
876                android:description="@string/car_permission_desc_read_car_power_policy"/>
877
878    <!-- Allows an application to apply a new power policy.
879         <p>Protection level: signature|privileged
880    -->
881    <permission android:name="android.car.permission.CONTROL_CAR_POWER_POLICY"
882                android:protectionLevel="signature|privileged"
883                android:label="@string/car_permission_label_control_car_power_policy"
884                android:description="@string/car_permission_desc_control_car_power_policy"/>
885
886    <!-- Allows an application to render template-based UI metadata on behalf of another
887         application.
888         <p>Protection level: signature|privileged
889    -->
890    <permission android:name="android.car.permission.TEMPLATE_RENDERER"
891                android:protectionLevel="signature|privileged"
892                android:label="@string/car_permission_label_template_renderer"
893                android:description="@string/car_permission_desc_template_renderer"/>
894
895    <uses-permission android:name="android.permission.CALL_PHONE"/>
896    <uses-permission android:name="android.permission.DEVICE_POWER"/>
897    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"/>
898    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
899    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"/>
900    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING"/>
901    <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
902    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
903    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
904    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
905    <uses-permission android:name="android.permission.REAL_GET_TASKS"/>
906    <uses-permission android:name="android.permission.REBOOT"/>
907    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
908    <uses-permission android:name="android.permission.REMOVE_TASKS"/>
909    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
910    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
911    <uses-permission android:name="android.permission.BLUETOOTH"/>
912    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
913    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
914    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
915    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
916    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES"/>
917    <uses-permission android:name="android.permission.MANAGE_USERS"/>
918    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
919    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
920    <uses-permission android:name="android.permission.PROVIDE_TRUST_AGENT"/>
921    <uses-permission android:name="android.permission.READ_LOGS"/>
922    <!--  Used by NotificationHelper to change the notifications app name -->
923    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
924
925    <application android:label="@string/app_title"
926         android:directBootAware="true"
927         android:allowBackup="false"
928         android:persistent="true">
929
930        <service android:name=".CarService"
931             android:singleUser="true"
932             android:exported="true">
933            <intent-filter>
934                <action android:name="android.car.ICar"/>
935            </intent-filter>
936        </service>
937        <service android:name=".PerUserCarService"
938            android:exported="false"/>
939        <service android:name=".telemetry.ScriptExecutor"
940            android:exported="false"
941            android:isolatedProcess="true"/>
942
943        <activity android:name="com.android.car.pm.ActivityBlockingActivity"
944             android:documentLaunchMode="always"
945             android:excludeFromRecents="true"
946             android:exported="false"
947             android:theme="@android:style/Theme.Translucent.NoTitleBar">
948            <intent-filter>
949                <action android:name="android.intent.action.MAIN"/>
950            </intent-filter>
951        </activity>
952        <activity android:name="com.android.car.am.ContinuousBlankActivity"
953             android:excludeFromRecents="true"
954             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
955             android:exported="false"
956             android:launchMode="singleTask">
957        </activity>
958        <activity android:name="com.android.car.admin.FactoryResetActivity"
959             android:excludeFromRecents="true"
960             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
961             android:exported="false"
962             android:launchMode="singleTask">
963        </activity>
964        <activity android:name="com.android.car.admin.NewUserDisclaimerActivity"
965             android:excludeFromRecents="true"
966             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
967             android:exported="false"
968             android:launchMode="singleTask">
969        </activity>
970        <activity android:name=".DistractionOptimizedActivityForTesting">
971            <meta-data android:name="distractionOptimized" android:value="true"/>
972        </activity>
973        <activity android:name=".NonDistractionOptimizedActivityForTesting">
974            <meta-data android:name="distractionOptimized" android:value="false"/>
975        </activity>
976    </application>
977</manifest>
978