1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2017 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 18 xmlns:android="http://schemas.android.com/apk/res/android" 19 xmlns:tools="http://schemas.android.com/tools" 20 package="com.android.car.dialer"> 21 22 <uses-sdk android:minSdkVersion="24" android:targetSdkVersion='24'/> 23 24 <uses-permission android:name="android.permission.BLUETOOTH"/> 25 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 26 <uses-permission android:name="android.permission.READ_CALL_LOG"/> 27 <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> 28 <uses-permission android:name="android.permission.READ_CONTACTS"/> 29 <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 30 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 31 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/> 32 <uses-permission android:name="android.permission.CALL_PHONE"/> 33 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> 34 <uses-permission android:name="android.car.permission.ACCESS_CAR_PROJECTION_STATUS"/> 35 36 <!-- The Dialer needs to be directBootAware so that it can reflect the correct call state 37 when the system boots up. --> 38 <application 39 android:name=".DialerApplication" 40 android:directBootAware="true" 41 android:label="@string/phone_app_name" 42 android:icon="@drawable/ic_app_icon" 43 android:supportsRtl="true"> 44 45 <activity android:name=".ui.TelecomActivity" 46 android:launchMode="singleTask" 47 android:theme="@style/Theme.Dialer.Telecom" 48 android:label="@string/phone_app_name" 49 android:exported="true" 50 android:resizeableActivity="true"> 51 <meta-data android:name="distractionOptimized" android:value="true"/> 52 <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> 53 <intent-filter> 54 <action android:name="android.intent.action.DIAL"/> 55 <category android:name="android.intent.category.DEFAULT"/> 56 </intent-filter> 57 <intent-filter> 58 <action android:name="android.intent.action.CALL"/> 59 <category android:name="android.intent.category.DEFAULT"/> 60 </intent-filter> 61 <intent-filter> 62 <action android:name="android.intent.action.VIEW"/> 63 <action android:name="android.intent.action.DIAL"/> 64 <category android:name="android.intent.category.DEFAULT"/> 65 <data android:scheme="tel"/> 66 </intent-filter> 67 <intent-filter> 68 <action android:name="android.intent.action.MAIN"/> 69 <category android:name="android.intent.category.DEFAULT"/> 70 <category android:name="android.intent.category.LAUNCHER"/> 71 </intent-filter> 72 73 <intent-filter> 74 <action android:name="android.intent.action.SEARCH"/> 75 <category android:name="android.intent.category.DEFAULT"/> 76 </intent-filter> 77 78 <intent-filter> 79 <action android:name="android.intent.action.VIEW"/> 80 <category android:name="android.intent.category.DEFAULT"/> 81 <category android:name="android.intent.category.BROWSABLE"/> 82 <data android:mimeType="vnd.android.cursor.dir/calls"/> 83 </intent-filter> 84 </activity> 85 86 <activity android:name=".ui.activecall.InCallActivity" 87 android:launchMode="singleInstance" 88 android:theme="@style/Theme.Dialer.InCall" 89 android:label="@string/phone_app_name"> 90 <meta-data android:name="distractionOptimized" android:value="true"/> 91 </activity> 92 93 <activity android:name=".ui.settings.DialerSettingsActivity" 94 android:parentActivityName=".ui.TelecomActivity" 95 android:launchMode="singleTask" 96 android:theme="@style/Theme.Dialer.Setting" 97 android:label="@string/setting_title"> 98 </activity> 99 100 <service android:name="com.android.car.dialer.telecom.InCallServiceImpl" 101 android:permission="android.permission.BIND_INCALL_SERVICE" 102 android:exported="true"> 103 <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true"/> 104 <intent-filter> 105 <action android:name="android.telecom.InCallService"/> 106 </intent-filter> 107 </service> 108 109 <service 110 android:name="com.android.car.dialer.notification.NotificationService" 111 android:permission="android.permission.BIND_JOB_SERVICE"> 112 </service> 113 114 <receiver 115 android:directBootAware="true" 116 android:name="com.android.car.dialer.notification.MissedCallReceiver"> 117 <intent-filter> 118 <action android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION"/> 119 </intent-filter> 120 </receiver> 121 122 <receiver 123 android:directBootAware="true" 124 android:name="com.android.car.dialer.storage.BluetoothBondedListReceiver"> 125 <intent-filter> 126 <action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED"/> 127 </intent-filter> 128 </receiver> 129 130 <!-- Workaround for b/113294940, remove when converting to Android.bp --> 131 <provider 132 android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer" 133 tools:replace="android:authorities" 134 android:authorities="${applicationId}" 135 android:exported="false" 136 android:multiprocess="true" /> 137 138 </application> 139</manifest> 140