| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ Copyright (C) 2020 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:tools="http://schemas.android.com/tools" |
| package="com.google.android.companiondevicesupport" |
| tools:ignore="all"> |
| |
| <!-- Needed for BLE scanning/advertising --> |
| <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" |
| android:maxSdkVersion="30" /> |
| <uses-permission android:name="android.permission.BLUETOOTH" |
| android:maxSdkVersion="30" /> |
| <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" |
| android:usesPermissionFlags="neverForLocation" /> |
| |
| <!-- Needed for detecting foreground user --> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> |
| <uses-permission android:name="android.permission.MANAGE_USERS" /> |
| <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |
| |
| <!-- Needed for the calendar sync feature --> |
| <uses-permission android:name="android.permission.READ_CALENDAR"/> |
| <uses-permission android:name="android.permission.WRITE_CALENDAR"/> |
| |
| <!-- Needed for the trusted device feature --> |
| <uses-permission android:name="android.permission.PROVIDE_TRUST_AGENT"/> |
| |
| <!-- Needed for the notification message feature --> |
| <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/> |
| <uses-permission android:name="android.car.permission.ACCESS_CAR_PROJECTION_STATUS"/> |
| |
| <!-- Needed to access the proxy service --> |
| <uses-permission android:name="android.permission.INTERNET" /> |
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| |
| <!-- Required for Play Store listing when application is AUTOMOTIVE exclusive --> |
| <uses-feature android:name="android.hardware.type.automotive" android:required="true" /> |
| |
| <application |
| android:label="@string/app_name" |
| android:directBootAware="true" |
| android:supportsRtl="true"> |
| <service |
| android:name="com.google.android.connecteddevice.service.ConnectedDeviceService" |
| android:singleUser="true" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.BIND_ASSOCIATION" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.api.BIND_REMOTE_FEATURE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.api.BIND_FEATURE_COORDINATOR" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.BIND_SPP" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.BIND_TRANSPORT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data android:name="com.google.android.connecteddevice.early_services" |
| android:resource="@array/early_single_user_services"/> |
| <meta-data android:name="com.google.android.connecteddevice.association_service_uuid" |
| android:resource="@string/car_association_service_uuid" /> |
| <meta-data android:name="com.google.android.connecteddevice.transport_protocols" |
| android:resource="@array/transport_protocols" /> |
| <meta-data android:name="com.google.android.connecteddevice.car_eap_oob_protocol_name" |
| android:resource="@string/car_eap_oob_protocol_name" /> |
| |
| </service> |
| <service |
| android:name="com.google.android.connecteddevice.service.ConnectedDeviceFgUserService" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.api.BIND_REMOTE_FEATURE_FG" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.api.BIND_FEATURE_COORDINATOR_FG" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data android:name="com.google.android.connecteddevice.early_services" |
| android:resource="@array/early_fg_user_services"/> |
| <meta-data android:name="com.google.android.connecteddevice.unlock_services" |
| android:resource="@array/unlock_fg_user_services"/> |
| </service> |
| <service |
| android:name="com.google.android.connecteddevice.service.SppService" |
| android:exported="false"> |
| </service> |
| <service |
| android:name="com.google.android.connecteddevice.service.TransportService" |
| android:exported="false"> |
| <meta-data android:name="com.google.android.connecteddevice.association_service_uuid" |
| android:resource="@string/car_association_service_uuid" /> |
| <meta-data android:name="com.google.android.connecteddevice.enable_proxy" |
| android:resource="@bool/enable_proxy" /> |
| <meta-data android:name="com.google.android.connecteddevice.transport_protocols" |
| android:resource="@array/transport_protocols" /> |
| <meta-data android:name="com.google.android.connecteddevice.supported_oob_channels" |
| android:resource="@array/supported_oob_channels"/> |
| <meta-data android:name="com.google.android.connecteddevice.car_eap_client_name" |
| android:resource="@string/car_eap_client_name" /> |
| <meta-data android:name="com.google.android.connecteddevice.car_eap_service_name" |
| android:resource="@string/car_eap_service_name" /> |
| </service> |
| <activity android:name=".AssociationActivity" |
| android:exported="true" |
| android:launchMode="singleInstance"> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.api.ASSOCIATION_ACTIVITY" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.settings.action.EXTRA_SETTINGS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data android:name="com.android.settings.icon" |
| android:resource="@drawable/ic_smartphone_24dp" android:value="true"/> |
| <meta-data android:name="com.android.settings.title" |
| android:resource="@string/settings_entry_title" /> |
| <meta-data android:name="com.android.settings.category" |
| android:value="com.android.settings.category.personal" /> |
| </activity> |
| |
| <!-- Feature specific elements below here --> |
| |
| <!-- calendarsync --> |
| <service |
| android:name="com.google.android.connecteddevice.calendarsync.CalendarSyncService" |
| android:exported="false" /> |
| |
| <!-- notificationmsg --> |
| <service |
| android:name="com.google.android.connecteddevice.notificationmsg.NotificationMsgService" |
| android:exported="true"> |
| <meta-data android:name="com.google.android.connecteddevice.notificationmsg.notification_contact_photo_size" |
| android:resource="@dimen/notification_contact_photo_size"/> |
| <meta-data android:name="com.google.android.connecteddevice.notificationmsg.default_message_icon" |
| android:resource="@drawable/ic_message"/> |
| <meta-data android:name="com.google.android.connecteddevice.notificationmsg.default_avatar" |
| android:resource="@drawable/ic_person"/> |
| <meta-data android:name="com.google.android.connecteddevice.notificationmsg.default_display_name" |
| android:resource="@string/name_not_available"/> |
| <meta-data android:name="com.google.android.connecteddevice.notificationmsg.content_text" |
| android:resource="@plurals/notification_new_message"/> |
| </service> |
| |
| <!-- trust --> |
| <service |
| android:name="com.google.android.connecteddevice.trust.TrustedDeviceManagerService" |
| android:singleUser="true" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="com.google.android.companiondevicesupport.trust.BIND_ENROLLMENT_MANAGER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.google.android.companiondevicesupport.trust.BIND_TRUST_MANAGER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </service> |
| <service |
| android:name="com.google.android.connecteddevice.trust.TrustedDeviceAgentService" |
| android:permission="android.permission.BIND_TRUST_AGENT" |
| android:singleUser="true" |
| android:exported="true" |
| android:directBootAware="true"> |
| <intent-filter> |
| <action android:name="android.service.trust.TrustAgentService" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data android:name="android.service.trust.trustagent" |
| android:resource="@xml/car_trust_agent"/> |
| </service> |
| <service android:name="com.google.android.connecteddevice.trust.TrustedDeviceUiDelegateService" |
| android:exported="false"> |
| <meta-data android:name="com.google.android.connecteddevice.trust.notification_channel_name" |
| android:resource="@string/trusted_device_notification_channel_name"/> |
| <meta-data android:name="com.google.android.connecteddevice.trust.enrollment_notification_icon" |
| android:resource="@drawable/ic_directions_car_filled"/> |
| <meta-data android:name="com.google.android.connecteddevice.trust.enrollment_notification_title" |
| android:resource="@string/trusted_device_notification_title"/> |
| <meta-data android:name="com.google.android.connecteddevice.trust.enrollment_notification_content" |
| android:resource="@string/trusted_device_notification_content"/> |
| <meta-data android:name="com.google.android.connecteddevice.trust.enrollment_notification_color" |
| android:resource="@color/car_red_300"/> |
| </service> |
| <activity |
| android:name=".trust.TrustedDeviceActivity" |
| android:exported="true" |
| android:launchMode="singleTask"> |
| <intent-filter> |
| <action android:name="com.google.android.connecteddevice.trust.TRUSTED_DEVICE_ACTIVITY" /> |
| <action android:name="com.android.settings.action.EXTRA_SETTINGS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data android:name="com.android.settings.icon" |
| android:resource="@drawable/ic_lock" android:value="true"/> |
| <meta-data android:name="com.android.settings.title" |
| android:resource="@string/trusted_device_feature_title" /> |
| <meta-data android:name="com.android.settings.category" |
| android:value="com.android.settings.category.ia.security" /> |
| <meta-data android:name="com.android.settings.icon_tintable" |
| android:value="true" /> |
| </activity> |
| </application> |
| </manifest> |