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