android13/packages/services/Car/service-builtin/AndroidManifest.xml

130 lines
6.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
package="com.android.car"
coreApp="true"
android:sharedUserId="android.uid.system">
<original-package android:name="com.android.car"/>
<!-- Do not add any new permission here.
Update ../service/AndroidManifest instead (Except signature only permission).
Signature only permission should be associated with platform signature, not module
signature. -->
<!-- Must be required by projection service to ensure only system can bind to it.
<p>Protection level: signature
-->
<permission android:name="android.car.permission.BIND_PROJECTION_SERVICE"
android:protectionLevel="signature"
android:label="@string/car_permission_label_bind_projection_service"
android:description="@string/car_permission_desc_bind_projection_service"/>
<!-- Must be required by VMS client service to ensure only system can bind to it.
<p>Protection level: signature
-->
<permission android:name="android.car.permission.BIND_VMS_CLIENT"
android:protectionLevel="signature"
android:label="@string/car_permission_label_bind_vms_client"
android:description="@string/car_permission_desc_bind_vms_client"/>
<!-- Must be required by instrument cluster service to ensure only system can bind to it.
<p>Protection level: signature
-->
<permission android:name="android.car.permission.BIND_INSTRUMENT_CLUSTER_RENDERER_SERVICE"
android:protectionLevel="signature"
android:label="@string/car_permission_label_bind_instrument_cluster_rendering"
android:description="@string/car_permission_desc_bind_instrument_cluster_rendering"/>
<!-- Allows an application to handle the vehicle input events.
<p>Protection level: signature
-->
<permission android:name="android.car.permission.BIND_CAR_INPUT_SERVICE"
android:protectionLevel="signature"
android:label="@string/car_permission_label_bind_input_service"
android:description="@string/car_permission_desc_bind_input_service"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.DEVICE_POWER"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING"/>
<uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.REAL_GET_TASKS"/>
<uses-permission android:name="android.permission.REBOOT"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.REMOVE_TASKS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES"/>
<uses-permission android:name="android.permission.MANAGE_USERS"/>
<uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"/>
<uses-permission android:name="android.permission.PROVIDE_TRUST_AGENT"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<!-- Used by NotificationHelper to change the notifications app name -->
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
<uses-permission android:name="android.permission.SUGGEST_EXTERNAL_TIME" />
<application android:label="@string/app_title"
android:directBootAware="true"
android:allowBackup="false"
android:persistent="true">
<!-- Do not add any new service without addressing mainline issues -->
<service android:name=".CarService"
android:singleUser="true"
android:exported="true">
<intent-filter>
<action android:name="android.car.ICar"/>
</intent-filter>
</service>
<service android:name=".PerUserCarService"
android:exported="false"/>
<service
android:name="com.android.car.pm.CarSafetyAccessibilityService"
android:singleUser="true"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:exported="false">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/car_safety_accessibility_service_config" />
</service>
<!-- Do not add any new Activity. -->
<activity android:name=".DistractionOptimizedActivityForTesting">
<meta-data android:name="distractionOptimized" android:value="true"/>
</activity>
<activity android:name=".NonDistractionOptimizedActivityForTesting">
<meta-data android:name="distractionOptimized" android:value="false"/>
</activity>
</application>
</manifest>