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 android:versionCode="30000" 21 android:versionName="3.00.00"> 22 23 <uses-sdk 24 android:minSdkVersion="23" 25 android:targetSdkVersion="23" /> 26 27 <uses-permission android:name="android.permission.CALL_PHONE" /> 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_CALL_LOG" /> 31 <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 32 <uses-permission android:name="android.permission.READ_PROFILE" /> 33 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 34 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 35 <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/> 36 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 37 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 38 <uses-permission android:name="android.permission.INTERNET" /> 39 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 40 <uses-permission android:name="android.permission.NFC" /> 41 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 42 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 43 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 44 <uses-permission android:name="android.permission.WAKE_LOCK" /> 45 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 46 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 47 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 48 <uses-permission android:name="android.permission.VIBRATE" /> 49 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 50 <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" /> 51 <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 52 <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" /> 53 <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" /> 54 <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" /> 55 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 56 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 57 <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 58 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 59 <!-- This tells the activity manager to not delay any of our activity 60 start requests, even if they happen immediately after the user 61 presses home. --> 62 <uses-permission android:name="android.permission.STOP_APP_SWITCHES" /> 63 64 <application 65 android:name="DialerApplication" 66 android:label="@string/applicationLabel" 67 android:icon="@mipmap/ic_launcher_phone" 68 android:hardwareAccelerated="true" 69 android:supportsRtl="true" 70 android:backupAgent='com.android.dialer.DialerBackupAgent' 71 android:usesCleartextTraffic="false"> 72 73 <meta-data android:name="com.google.android.backup.api_key" 74 android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" /> 75 76 <!-- The entrance point for Phone UI. 77 stateAlwaysHidden is set to suppress keyboard show up on 78 dialpad screen. --> 79 <activity android:name=".DialtactsActivity" 80 android:label="@string/launcherActivityLabel" 81 android:theme="@style/DialtactsActivityTheme" 82 android:launchMode="singleTask" 83 android:clearTaskOnLaunch="true" 84 android:icon="@mipmap/ic_launcher_phone" 85 android:windowSoftInputMode="stateAlwaysHidden|adjustNothing" 86 android:resizeableActivity="true" 87 android:directBootAware="true"> 88 <intent-filter> 89 <action android:name="android.intent.action.DIAL" /> 90 <category android:name="android.intent.category.DEFAULT" /> 91 <category android:name="android.intent.category.BROWSABLE" /> 92 <data android:mimeType="vnd.android.cursor.item/phone" /> 93 <data android:mimeType="vnd.android.cursor.item/person" /> 94 </intent-filter> 95 <intent-filter> 96 <action android:name="android.intent.action.DIAL" /> 97 <category android:name="android.intent.category.DEFAULT" /> 98 <category android:name="android.intent.category.BROWSABLE" /> 99 <data android:scheme="voicemail" /> 100 </intent-filter> 101 <intent-filter> 102 <action android:name="android.intent.action.DIAL" /> 103 <category android:name="android.intent.category.DEFAULT" /> 104 </intent-filter> 105 <intent-filter> 106 <action android:name="android.intent.action.MAIN" /> 107 <category android:name="android.intent.category.DEFAULT" /> 108 <category android:name="android.intent.category.LAUNCHER" /> 109 <category android:name="android.intent.category.BROWSABLE" /> 110 </intent-filter> 111 <intent-filter> 112 <action android:name="android.intent.action.VIEW" /> 113 <action android:name="android.intent.action.DIAL" /> 114 <category android:name="android.intent.category.DEFAULT" /> 115 <category android:name="android.intent.category.BROWSABLE" /> 116 <data android:scheme="tel" /> 117 </intent-filter> 118 <intent-filter> 119 <action android:name="android.intent.action.VIEW" /> 120 <category android:name="android.intent.category.DEFAULT" /> 121 <category android:name="android.intent.category.BROWSABLE" /> 122 <data android:mimeType="vnd.android.cursor.dir/calls" /> 123 </intent-filter> 124 <intent-filter> 125 <action android:name="android.intent.action.CALL_BUTTON" /> 126 <category android:name="android.intent.category.DEFAULT" /> 127 <category android:name="android.intent.category.BROWSABLE" /> 128 </intent-filter> 129 <!-- This was never intended to be public, but is here for backward 130 compatibility. Use Intent.ACTION_DIAL instead. --> 131 <intent-filter> 132 <action android:name="com.android.phone.action.TOUCH_DIALER" /> 133 <category android:name="android.intent.category.DEFAULT" /> 134 <category android:name="android.intent.category.TAB" /> 135 </intent-filter> 136 <intent-filter android:label="@string/callHistoryIconLabel"> 137 <action android:name="com.android.phone.action.RECENT_CALLS" /> 138 <category android:name="android.intent.category.DEFAULT" /> 139 <category android:name="android.intent.category.TAB" /> 140 </intent-filter> 141 <meta-data 142 android:name="com.android.keyguard.layout" 143 android:resource="@layout/keyguard_preview" /> 144 </activity> 145 146 <activity android:name="com.android.dialer.settings.DialerSettingsActivity" 147 android:label="@string/dialer_settings_label" 148 android:parentActivityName="com.android.dialer.DialtactsActivity" 149 android:theme="@style/SettingsStyle" 150 android:exported="false"> 151 </activity> 152 153 <activity android:name="com.android.dialer.filterednumber.BlockedNumbersSettingsActivity" 154 android:label="@string/manage_blocked_numbers_label" 155 android:parentActivityName="com.android.dialer.settings.DialerSettingsActivity" 156 android:theme="@style/ManageBlockedNumbersStyle" 157 android:exported="false"> 158 </activity> 159 160 <activity android:name="com.android.dialer.voicemail.VoicemailArchiveActivity" 161 android:label="@string/voicemail_archive_activity_title" 162 android:theme="@style/DialtactsThemeWithoutActionBarOverlay"> 163 </activity> 164 165 <activity android:name="com.android.dialer.calllog.CallLogActivity" 166 android:label="@string/call_log_activity_title" 167 android:theme="@style/DialtactsThemeWithoutActionBarOverlay" 168 android:icon="@mipmap/ic_launcher_phone"> 169 </activity> 170 171 <activity android:name="com.android.dialer.CallDetailActivity" 172 android:label="@string/callDetailTitle" 173 android:theme="@style/CallDetailActivityTheme" 174 android:parentActivityName="com.android.dialer.calllog.CallLogActivity" 175 android:icon="@mipmap/ic_launcher_phone"> 176 <intent-filter> 177 <action android:name="android.intent.action.VIEW"/> 178 <category android:name="android.intent.category.DEFAULT"/> 179 <data android:mimeType="vnd.android.cursor.item/calls"/> 180 </intent-filter> 181 </activity> 182 183 <activity android:name="com.android.contacts.common.test.FragmentTestActivity"> 184 <intent-filter> 185 <category android:name="android.intent.category.TEST"/> 186 </intent-filter> 187 </activity> 188 189 <activity android:name="com.android.contacts.common.dialog.CallSubjectDialog" 190 android:theme="@style/Theme.CallSubjectDialogTheme" 191 android:windowSoftInputMode="stateVisible|adjustResize"> 192 <intent-filter> 193 <action android:name="android.intent.action.VIEW"/> 194 </intent-filter> 195 </activity> 196 197 <!-- Backwards compatibility: "Phone" from Gingerbread and earlier --> 198 <activity-alias android:name="DialtactsActivity" 199 android:targetActivity=".DialtactsActivity" 200 android:exported="true" 201 /> 202 203 <!-- Backwards compatibility: "Call log" from Gingerbread and earlier --> 204 <activity-alias android:name="RecentCallsListActivity" 205 android:targetActivity=".DialtactsActivity" 206 android:exported="true" 207 /> 208 209 <!-- Backwards compatibility: "Call log" from ICS --> 210 <activity-alias android:name=".activities.CallLogActivity" 211 android:targetActivity=".DialtactsActivity" 212 android:exported="true" 213 /> 214 215 <!-- Used to filter contacts list by account --> 216 <activity 217 android:name="com.android.contacts.common.list.AccountFilterActivity" 218 android:label="@string/activity_title_contacts_filter" 219 android:theme="@style/ContactListFilterTheme"/> 220 221 <!-- Used to select display and sync groups --> 222 <activity 223 android:name="com.android.contacts.common.list.CustomContactListFilterActivity" 224 android:label="@string/custom_list_filter" 225 android:theme="@style/ContactListFilterTheme"/> 226 227 <activity 228 android:name="com.android.contacts.common.activity.RequestImportVCardPermissionsActivity" 229 android:label="@string/launcherActivityLabel" 230 android:theme="@style/BackgroundOnlyTheme" 231 android:exported="false"/> 232 233 <!-- vCard related --> 234 <activity android:name="com.android.contacts.common.vcard.ImportVCardActivity" 235 android:configChanges="orientation|screenSize|keyboardHidden" 236 android:theme="@style/BackgroundOnlyTheme"> 237 </activity> 238 239 <activity android:name="com.android.contacts.common.vcard.NfcImportVCardActivity" 240 android:configChanges="orientation|screenSize|keyboardHidden" 241 android:theme="@style/BackgroundOnlyTheme"> 242 </activity> 243 244 <activity android:name="com.android.contacts.common.vcard.CancelActivity" 245 android:theme="@style/BackgroundOnlyTheme"/> 246 247 <activity android:name="com.android.contacts.common.vcard.SelectAccountActivity" 248 android:theme="@style/BackgroundOnlyTheme"/> 249 250 <activity android:name="com.android.contacts.common.vcard.ExportVCardActivity" 251 android:theme="@style/BackgroundOnlyTheme"/> 252 253 <activity android:name="com.android.contacts.common.vcard.ShareVCardActivity" 254 android:theme="@style/BackgroundOnlyTheme" /> 255 256 <service 257 android:name="com.android.contacts.common.vcard.VCardService" 258 android:exported="false"/> 259 <!-- end vCard related --> 260 261 <receiver android:name=".calllog.CallLogReceiver"> 262 <intent-filter> 263 <action android:name="android.intent.action.NEW_VOICEMAIL" /> 264 <data 265 android:scheme="content" 266 android:host="com.android.voicemail" 267 android:mimeType="vnd.android.cursor.item/voicemail" 268 /> 269 </intent-filter> 270 <intent-filter android:priority="100"> 271 <action android:name="android.intent.action.BOOT_COMPLETED"/> 272 </intent-filter> 273 </receiver> 274 275 <receiver android:name=".interactions.UndemoteOutgoingCallReceiver"> 276 <intent-filter> 277 <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 278 </intent-filter> 279 </receiver> 280 281 <service 282 android:name=".calllog.CallLogNotificationsService" 283 android:directBootAware="true" 284 android:exported="false" 285 /> 286 287 <receiver android:name=".calllog.MissedCallNotificationReceiver" 288 android:directBootAware="true"> 289 <intent-filter> 290 <action android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" /> 291 </intent-filter> 292 </receiver> 293 294 <!-- Service to update a contact --> 295 <service 296 android:name=".contact.ContactUpdateService" 297 android:exported="false" /> 298 299 <!-- Broadcast receiver that passively listens to location updates --> 300 <receiver android:name="com.android.contacts.common.location.CountryDetector$LocationChangedReceiver"/> 301 302 <!-- IntentService to update the user's current country --> 303 <service android:name="com.android.contacts.common.location.UpdateCountryService" 304 android:exported="false"/> 305 306 <!-- Main in-call UI activity. This is never launched directly 307 from outside the phone app; instead, it's either launched by 308 the OutgoingCallBroadcaster (for outgoing calls), or as the 309 fullScreenIntent of a notification (for incoming calls.) --> 310 <activity android:name="com.android.incallui.InCallActivity" 311 android:theme="@style/Theme.InCallScreen" 312 android:label="@string/phoneAppLabel" 313 android:excludeFromRecents="true" 314 android:launchMode="singleInstance" 315 android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboardHidden" 316 android:exported="false" 317 android:screenOrientation="nosensor" 318 android:directBootAware="true" 319 android:resizeableActivity="true"> 320 </activity> 321 322 <service android:name="com.android.incallui.InCallServiceImpl" 323 android:permission="android.permission.BIND_INCALL_SERVICE" 324 android:directBootAware="true" > 325 <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" /> 326 <meta-data android:name="android.telecom.IN_CALL_SERVICE_RINGING" 327 android:value="false"/> 328 <meta-data android:name="android.telecom.INCLUDE_EXTERNAL_CALLS" 329 android:value="true"/> 330 <intent-filter> 331 <action android:name="android.telecom.InCallService"/> 332 </intent-filter> 333 </service> 334 335 <!-- BroadcastReceiver for receiving Intents from Notification mechanism. --> 336 <receiver android:name="com.android.incallui.NotificationBroadcastReceiver" 337 android:directBootAware="true" 338 android:exported="false" /> 339 340 <provider 341 android:name=".database.FilteredNumberProvider" 342 android:authorities="com.android.dialer.database.filterednumberprovider" 343 android:exported="false" 344 android:multiprocess="false" 345 /> 346 347 <provider 348 android:name="android.support.v4.content.FileProvider" 349 android:authorities="@string/contacts_file_provider_authority" 350 android:grantUriPermissions="true" 351 android:exported="false"> 352 <meta-data 353 android:name="android.support.FILE_PROVIDER_PATHS" 354 android:resource="@xml/file_paths" /> 355 </provider> 356 357 <provider 358 android:name=".database.VoicemailArchiveProvider" 359 android:authorities="com.android.dialer.database.voicemailarchiveprovider" 360 android:exported="false" 361 android:multiprocess="false" 362 /> 363 </application> 364 </manifest> 365