1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- Copyright (C) 2006 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 package="com.android.dialer" 19 coreApp="true"> 20 21 <uses-permission android:name="android.permission.CALL_PHONE" /> 22 <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> 23 <uses-permission android:name="android.permission.READ_CONTACTS" /> 24 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 25 <uses-permission android:name="android.permission.READ_CALL_LOG" /> 26 <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 27 <uses-permission android:name="android.permission.READ_PROFILE" /> 28 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 29 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 30 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 31 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 32 <uses-permission android:name="android.permission.INTERNET" /> 33 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 34 <uses-permission android:name="android.permission.NFC" /> 35 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 36 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 37 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 38 <uses-permission android:name="android.permission.WAKE_LOCK" /> 39 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 40 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 41 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 42 <uses-permission android:name="android.permission.VIBRATE" /> 43 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 44 <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" /> 45 <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 46 <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" /> 47 <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" /> 48 <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" /> 49 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 50 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 51 <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 52 <!-- This tells the activity manager to not delay any of our activity 53 start requests, even if they happen immediately after the user 54 presses home. --> 55 <uses-permission android:name="android.permission.STOP_APP_SWITCHES" /> 56 57 <application 58 android:name="DialerApplication" 59 android:label="@string/applicationLabel" 60 android:icon="@mipmap/ic_launcher_phone" 61 android:hardwareAccelerated="true" 62 android:supportsRtl="true" 63 android:backupAgent='com.android.dialer.DialerBackupAgent'> 64 65 <meta-data android:name="com.google.android.backup.api_key" 66 android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" /> 67 68 <!-- The entrance point for Phone UI. 69 stateAlwaysHidden is set to suppress keyboard show up on 70 dialpad screen. --> 71 <activity android:name=".DialtactsActivity" 72 android:label="@string/launcherActivityLabel" 73 android:theme="@style/DialtactsActivityTheme" 74 android:launchMode="singleTask" 75 android:clearTaskOnLaunch="true" 76 android:icon="@mipmap/ic_launcher_phone" 77 android:enabled="@*android:bool/config_voice_capable" 78 android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"> 79 <intent-filter> 80 <action android:name="android.intent.action.DIAL" /> 81 <category android:name="android.intent.category.DEFAULT" /> 82 <category android:name="android.intent.category.BROWSABLE" /> 83 <data android:mimeType="vnd.android.cursor.item/phone" /> 84 <data android:mimeType="vnd.android.cursor.item/person" /> 85 </intent-filter> 86 <intent-filter> 87 <action android:name="android.intent.action.DIAL" /> 88 <category android:name="android.intent.category.DEFAULT" /> 89 <category android:name="android.intent.category.BROWSABLE" /> 90 <data android:scheme="voicemail" /> 91 </intent-filter> 92 <intent-filter> 93 <action android:name="android.intent.action.DIAL" /> 94 <category android:name="android.intent.category.DEFAULT" /> 95 </intent-filter> 96 <intent-filter> 97 <action android:name="android.intent.action.MAIN" /> 98 <category android:name="android.intent.category.DEFAULT" /> 99 <category android:name="android.intent.category.LAUNCHER" /> 100 <category android:name="android.intent.category.BROWSABLE" /> 101 </intent-filter> 102 <intent-filter> 103 <action android:name="android.intent.action.VIEW" /> 104 <action android:name="android.intent.action.DIAL" /> 105 <category android:name="android.intent.category.DEFAULT" /> 106 <category android:name="android.intent.category.BROWSABLE" /> 107 <data android:scheme="tel" /> 108 </intent-filter> 109 <intent-filter> 110 <action android:name="android.intent.action.CALL_BUTTON" /> 111 <category android:name="android.intent.category.DEFAULT" /> 112 <category android:name="android.intent.category.BROWSABLE" /> 113 </intent-filter> 114 <!-- This was never intended to be public, but is here for backward 115 compatibility. Use Intent.ACTION_DIAL instead. --> 116 <intent-filter> 117 <action android:name="com.android.phone.action.TOUCH_DIALER" /> 118 <category android:name="android.intent.category.DEFAULT" /> 119 <category android:name="android.intent.category.TAB" /> 120 </intent-filter> 121 <intent-filter android:label="@string/recentCallsIconLabel"> 122 <action android:name="com.android.phone.action.RECENT_CALLS" /> 123 <category android:name="android.intent.category.DEFAULT" /> 124 <category android:name="android.intent.category.TAB" /> 125 </intent-filter> 126 <meta-data 127 android:name="com.android.keyguard.layout" 128 android:resource="@layout/keyguard_preview" /> 129 </activity> 130 131 <activity android:name="com.android.dialer.settings.DialerSettingsActivity" 132 android:label="@string/dialer_settings_label" 133 android:parentActivityName="com.android.dialer.DialtactsActivity" 134 android:theme="@style/SettingsStyle" 135 android:exported="false"> 136 </activity> 137 138 <activity android:name="com.android.dialer.calllog.CallLogActivity" 139 android:label="@string/call_log_activity_title" 140 android:theme="@style/DialtactsThemeWithoutActionBarOverlay" 141 android:icon="@mipmap/ic_launcher_phone"> 142 <intent-filter> 143 <action android:name="android.intent.action.VIEW" /> 144 <category android:name="android.intent.category.DEFAULT" /> 145 <category android:name="android.intent.category.BROWSABLE" /> 146 <data android:mimeType="vnd.android.cursor.dir/calls" /> 147 </intent-filter> 148 </activity> 149 150 <activity android:name="com.android.dialer.CallDetailActivity" 151 android:label="@string/callDetailTitle" 152 android:theme="@style/CallDetailActivityTheme" 153 android:icon="@mipmap/ic_launcher_phone" 154 android:parentActivityName="com.android.dialer.calllog.CallLogActivity" 155 > 156 <intent-filter> 157 <action android:name="android.intent.action.VIEW"/> 158 <category android:name="android.intent.category.DEFAULT"/> 159 <data android:mimeType="vnd.android.cursor.item/calls"/> 160 </intent-filter> 161 </activity> 162 163 <activity android:name="com.android.contacts.common.test.FragmentTestActivity"> 164 <intent-filter> 165 <category android:name="android.intent.category.TEST"/> 166 </intent-filter> 167 </activity> 168 169 <!-- Backwards compatibility: "Phone" from Gingerbread and earlier --> 170 <activity-alias android:name="DialtactsActivity" 171 android:targetActivity=".DialtactsActivity" 172 android:exported="true" 173 /> 174 175 <!-- Backwards compatibility: "Call log" from Gingerbread and earlier --> 176 <activity-alias android:name="RecentCallsListActivity" 177 android:targetActivity=".DialtactsActivity" 178 android:exported="true" 179 /> 180 181 <!-- Backwards compatibility: "Call log" from ICS --> 182 <activity-alias android:name=".activities.CallLogActivity" 183 android:targetActivity=".DialtactsActivity" 184 android:exported="true" 185 /> 186 187 <!-- Used to filter contacts list by account --> 188 <activity 189 android:name="com.android.contacts.common.list.AccountFilterActivity" 190 android:label="@string/activity_title_contacts_filter" 191 android:theme="@style/ContactListFilterTheme"/> 192 193 <!-- Used to select display and sync groups --> 194 <activity 195 android:name="com.android.contacts.common.list.CustomContactListFilterActivity" 196 android:label="@string/custom_list_filter" 197 android:theme="@style/ContactListFilterTheme"/> 198 199 <!-- vCard related --> 200 <activity android:name="com.android.contacts.common.vcard.ImportVCardActivity" 201 android:configChanges="orientation|screenSize|keyboardHidden" 202 android:theme="@style/BackgroundOnlyTheme"> 203 </activity> 204 205 <activity android:name="com.android.contacts.common.vcard.NfcImportVCardActivity" 206 android:configChanges="orientation|screenSize|keyboardHidden" 207 android:theme="@style/BackgroundOnlyTheme"> 208 </activity> 209 210 <activity android:name="com.android.contacts.common.vcard.CancelActivity" 211 android:theme="@style/BackgroundOnlyTheme"/> 212 213 <activity android:name="com.android.contacts.common.vcard.SelectAccountActivity" 214 android:theme="@style/BackgroundOnlyTheme"/> 215 216 <activity android:name="com.android.contacts.common.vcard.ExportVCardActivity" 217 android:theme="@style/BackgroundOnlyTheme"/> 218 219 <service 220 android:name="com.android.contacts.common.vcard.VCardService" 221 android:exported="false"/> 222 <!-- end vCard related --> 223 224 <receiver android:name=".calllog.CallLogReceiver" 225 android:enabled="@*android:bool/config_voice_capable"> 226 <intent-filter> 227 <action android:name="android.intent.action.NEW_VOICEMAIL" /> 228 <data 229 android:scheme="content" 230 android:host="com.android.voicemail" 231 android:mimeType="vnd.android.cursor.item/voicemail" 232 /> 233 </intent-filter> 234 <intent-filter android:priority="100"> 235 <action android:name="android.intent.action.BOOT_COMPLETED"/> 236 </intent-filter> 237 </receiver> 238 239 <receiver android:name=".interactions.UndemoteOutgoingCallReceiver"> 240 <intent-filter> 241 <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 242 </intent-filter> 243 </receiver> 244 245 <service 246 android:name=".calllog.CallLogNotificationsService" 247 android:exported="false" 248 /> 249 250 <!-- Service to update a contact --> 251 <service 252 android:name=".contact.ContactUpdateService" 253 android:exported="false" /> 254 255 <!-- Broadcast receiver that passively listens to location updates --> 256 <receiver android:name="com.android.contacts.common.location.CountryDetector$LocationChangedReceiver"/> 257 258 <!-- IntentService to update the user's current country --> 259 <service android:name="com.android.contacts.common.location.UpdateCountryService" 260 android:exported="false"/> 261 262 <!-- Main in-call UI activity. This is never launched directly 263 from outside the phone app; instead, it's either launched by 264 the OutgoingCallBroadcaster (for outgoing calls), or as the 265 fullScreenIntent of a notification (for incoming calls.) --> 266 <activity android:name="com.android.incallui.InCallActivity" 267 android:theme="@style/Theme.InCallScreen" 268 android:label="@string/phoneAppLabel" 269 android:excludeFromRecents="true" 270 android:launchMode="singleInstance" 271 android:configChanges="keyboardHidden" 272 android:exported="false" 273 android:process="com.android.incallui" 274 android:screenOrientation="nosensor" > 275 </activity> 276 277 <!-- BroadcastReceiver for receiving Intents from Notification mechanism. --> 278 <receiver android:name="com.android.incallui.InCallApp$NotificationBroadcastReceiver" 279 android:exported="false" 280 android:process="com.android.incallui"> 281 <intent-filter> 282 <action android:name="com.android.incallui.ACTION_HANG_UP_ONGOING_CALL" /> 283 </intent-filter> 284 </receiver> 285 286 <service android:name="com.android.incallui.InCallServiceImpl" 287 android:process="com.android.incallui" 288 android:permission="android.permission.BIND_INCALL_SERVICE" > 289 <intent-filter> 290 <action android:name="android.telecom.InCallService"/> 291 </intent-filter> 292 </service> 293 </application> 294 </manifest> 295