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.contacts" 19 android:sharedUserId="android.uid.shared" 20 android:sharedUserLabel="@string/sharedUserLabel" 21> 22 23 <original-package android:name="com.android.contacts" /> 24 25 <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> 26 <uses-permission android:name="android.permission.READ_CONTACTS" /> 27 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 28 <uses-permission android:name="android.permission.INTERNET" /> 29 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 30 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 31 <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" /> 32 <uses-permission android:name="android.permission.WAKE_LOCK" /> 33 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 34 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 35 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 36 <uses-permission android:name="android.permission.VIBRATE" /> 37 38 <application 39 android:label="@string/contactsList" 40 android:icon="@drawable/ic_launcher_contacts" 41 android:process="android.process.acore" 42 android:taskAffinity="android.task.contacts" 43 > 44 45 <!-- A virtual 12 key dialer --> 46 <activity android:name="TwelveKeyDialer" 47 android:launchMode="singleTop" 48 > 49 <intent-filter> 50 <action android:name="com.android.phone.action.TOUCH_DIALER" /> 51 <category android:name="android.intent.category.DEFAULT" /> 52 <category android:name="android.intent.category.TAB" /> 53 </intent-filter> 54 </activity> 55 56 <!-- A list of recent calls --> 57 <activity android:name="RecentCallsListActivity" 58 android:label="@string/recentCallsIconLabel" 59 > 60 <intent-filter> 61 <action android:name="com.android.phone.action.RECENT_CALLS" /> 62 <category android:name="android.intent.category.DEFAULT" /> 63 <category android:name="android.intent.category.TAB" /> 64 </intent-filter> 65 </activity> 66 67 <!-- Tab container for all tabs --> 68 <activity android:name="DialtactsActivity" 69 android:label="@string/launcherDialer" 70 android:theme="@style/DialtactsTheme" 71 android:launchMode="singleTask" 72 android:clearTaskOnLaunch="true" 73 android:icon="@drawable/ic_launcher_phone" 74 android:screenOrientation="nosensor" 75 > 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.VIEW" /> 108 <category android:name="android.intent.category.DEFAULT" /> 109 <category android:name="android.intent.category.BROWSABLE" /> 110 <data android:mimeType="vnd.android.cursor.dir/calls" /> 111 </intent-filter> 112 <intent-filter> 113 <action android:name="android.intent.action.CALL_BUTTON" /> 114 <category android:name="android.intent.category.DEFAULT" /> 115 <category android:name="android.intent.category.BROWSABLE" /> 116 </intent-filter> 117 </activity> 118 119 <!-- Tab container for all tabs --> 120 <activity-alias android:name="DialtactsContactsEntryActivity" 121 android:targetActivity="DialtactsActivity" 122 android:label="@string/contactsList" 123 android:icon="@drawable/ic_launcher_contacts" 124 > 125 <intent-filter> 126 <action android:name="android.intent.action.MAIN" /> 127 <category android:name="android.intent.category.DEFAULT" /> 128 <category android:name="android.intent.category.LAUNCHER" /> 129 <category android:name="android.intent.category.BROWSABLE" /> 130 </intent-filter> 131 132 <intent-filter> 133 <action android:name="android.intent.action.VIEW" /> 134 <category android:name="android.intent.category.DEFAULT" /> 135 <data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" /> 136 <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" /> 137 </intent-filter> 138 139 </activity-alias> 140 141 <!-- An empty activity that presents the DialtactActivity's Favorites tab --> 142 <activity-alias android:name="DialtactsFavoritesEntryActivity" 143 android:targetActivity="DialtactsActivity" 144 > 145 <intent-filter> 146 <action android:name="android.intent.action.MAIN" /> 147 <category android:name="android.intent.category.DEFAULT" /> 148 </intent-filter> 149 </activity-alias> 150 151 <!-- The actual list of contacts, usually embedded in ContactsActivity --> 152 <activity android:name="ContactsListActivity" 153 android:label="@string/contactsList" 154 android:clearTaskOnLaunch="true" 155 > 156 <intent-filter> 157 <action android:name="com.android.contacts.action.LIST_DEFAULT" /> 158 <category android:name="android.intent.category.DEFAULT" /> 159 <category android:name="android.intent.category.TAB" /> 160 </intent-filter> 161 162 <intent-filter> 163 <action android:name="com.android.contacts.action.LIST_CONTACTS" /> 164 <category android:name="android.intent.category.DEFAULT" /> 165 <category android:name="android.intent.category.TAB" /> 166 </intent-filter> 167 168 <intent-filter> 169 <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" /> 170 <category android:name="android.intent.category.DEFAULT" /> 171 <category android:name="android.intent.category.TAB" /> 172 </intent-filter> 173 174 <intent-filter> 175 <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" /> 176 <category android:name="android.intent.category.DEFAULT" /> 177 <category android:name="android.intent.category.TAB" /> 178 </intent-filter> 179 180 <intent-filter android:label="@string/starredList"> 181 <action android:name="com.android.contacts.action.LIST_STARRED" /> 182 <category android:name="android.intent.category.DEFAULT" /> 183 <category android:name="android.intent.category.TAB" /> 184 </intent-filter> 185 186 <intent-filter android:label="@string/frequentList"> 187 <action android:name="com.android.contacts.action.LIST_FREQUENT" /> 188 <category android:name="android.intent.category.DEFAULT" /> 189 <category android:name="android.intent.category.TAB" /> 190 </intent-filter> 191 192 <intent-filter android:label="@string/strequentList"> 193 <action android:name="com.android.contacts.action.LIST_STREQUENT" /> 194 <category android:name="android.intent.category.DEFAULT" /> 195 <category android:name="android.intent.category.TAB" /> 196 </intent-filter> 197 198 <intent-filter> 199 <action android:name="android.intent.action.INSERT_OR_EDIT" /> 200 <category android:name="android.intent.category.DEFAULT" /> 201 <data android:mimeType="vnd.android.cursor.item/person" /> 202 <data android:mimeType="vnd.android.cursor.item/contact" /> 203 <data android:mimeType="vnd.android.cursor.item/raw_contact" /> 204 </intent-filter> 205 206 <intent-filter> 207 <action android:name="android.intent.action.PICK" /> 208 <category android:name="android.intent.category.DEFAULT" /> 209 <data android:mimeType="vnd.android.cursor.dir/contact" /> 210 <data android:mimeType="vnd.android.cursor.dir/person" /> 211 <data android:mimeType="vnd.android.cursor.dir/phone_v2" /> 212 <data android:mimeType="vnd.android.cursor.dir/phone" /> 213 <data android:mimeType="vnd.android.cursor.dir/postal-address_v2" /> 214 <data android:mimeType="vnd.android.cursor.dir/postal-address" /> 215 </intent-filter> 216 217 <intent-filter> 218 <action android:name="android.intent.action.GET_CONTENT" /> 219 <category android:name="android.intent.category.DEFAULT" /> 220 <data android:mimeType="vnd.android.cursor.item/contact" /> 221 <data android:mimeType="vnd.android.cursor.item/person" /> 222 <data android:mimeType="vnd.android.cursor.item/phone_v2" /> 223 <data android:mimeType="vnd.android.cursor.item/phone" /> 224 <data android:mimeType="vnd.android.cursor.item/postal-address_v2" /> 225 <data android:mimeType="vnd.android.cursor.item/postal-address" /> 226 </intent-filter> 227 228 </activity> 229 230 <!-- An activity for joining contacts --> 231 <activity android:name="ContactsListActivity$JoinContactActivity" 232 android:theme="@style/TallTitleBarTheme" 233 android:clearTaskOnLaunch="true" 234 > 235 <intent-filter> 236 <action android:name="com.android.contacts.action.JOIN_AGGREGATE" /> 237 <category android:name="android.intent.category.DEFAULT" /> 238 </intent-filter> 239 </activity> 240 241 <!-- The contacts search/filter UI --> 242 <activity android:name="ContactsListActivity$ContactsSearchActivity" 243 android:theme="@style/ContactsSearchTheme" 244 android:windowSoftInputMode="stateAlwaysVisible|adjustPan" 245 > 246 <intent-filter> 247 <action android:name="com.android.contacts.action.FILTER_CONTACTS" /> 248 <category android:name="android.intent.category.DEFAULT" /> 249 <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" /> 250 </intent-filter> 251 </activity> 252 253 <!-- The contacts search/filter UI --> 254 <activity android:name="SearchResultsActivity" 255 android:theme="@style/TallTitleBarTheme" 256 android:label="@string/contactsList" 257 > 258 <intent-filter> 259 <action android:name="android.intent.action.SEARCH" /> 260 <category android:name="android.intent.category.DEFAULT" /> 261 </intent-filter> 262 263 <meta-data android:name="android.app.searchable" 264 android:resource="@xml/searchable" 265 /> 266 </activity> 267 268 <!-- Used to select display and sync groups --> 269 <activity android:name=".ui.ContactsPreferencesActivity" android:label="@string/displayGroups" /> 270 271 <activity 272 android:name=".ui.ShowOrCreateActivity" 273 android:theme="@style/FullyTranslucent"> 274 275 <intent-filter> 276 <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" /> 277 <category android:name="android.intent.category.DEFAULT" /> 278 <data android:scheme="mailto" /> 279 <data android:scheme="tel" /> 280 </intent-filter> 281 </activity> 282 283 <!-- Used to show QuickContact window over a translucent activity, which is a 284 temporary hack until we add better framework support. --> 285 <activity 286 android:name=".ui.QuickContactActivity" 287 android:theme="@style/FullyTranslucent.QuickContact" 288 android:launchMode="singleTop" 289 android:excludeFromRecents="true" 290 android:taskAffinity="android.task.quickcontact" 291 android:windowSoftInputMode="stateUnchanged" 292 > 293 294 <intent-filter> 295 <action android:name="com.android.contacts.action.QUICK_CONTACT" /> 296 <category android:name="android.intent.category.DEFAULT" /> 297 <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> 298 <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> 299 </intent-filter> 300 </activity> 301 302 <activity-alias android:name="ContactShortcut" 303 android:targetActivity="ContactsListActivity" 304 android:label="@string/shortcutContact" 305 android:icon="@drawable/ic_launcher_shortcut_contact"> 306 307 <intent-filter> 308 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 309 <category android:name="android.intent.category.DEFAULT" /> 310 </intent-filter> 311 312 </activity-alias> 313 314 <activity-alias android:name="alias.DialShortcut" 315 android:targetActivity="ContactsListActivity" 316 android:label="@string/shortcutDialContact" 317 android:icon="@drawable/ic_launcher_shortcut_directdial"> 318 319 <intent-filter> 320 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 321 <category android:name="android.intent.category.DEFAULT" /> 322 <category android:name="android.intent.category.CAR_MODE" /> 323 </intent-filter> 324 325 </activity-alias> 326 327 <activity-alias android:name="alias.MessageShortcut" 328 android:targetActivity="ContactsListActivity" 329 android:label="@string/shortcutMessageContact" 330 android:icon="@drawable/ic_launcher_shortcut_directmessage"> 331 332 <intent-filter> 333 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 334 <category android:name="android.intent.category.DEFAULT" /> 335 </intent-filter> 336 337 </activity-alias> 338 339 <activity android:name="CallDetailActivity" 340 android:label="@string/callDetailTitle" 341 android:theme="@style/TallTitleBarTheme" 342 > 343 <intent-filter> 344 <action android:name="android.intent.action.VIEW" /> 345 <category android:name="android.intent.category.DEFAULT" /> 346 <data android:mimeType="vnd.android.cursor.item/calls" /> 347 </intent-filter> 348 </activity> 349 350 <!-- Views the details of a single contact --> 351 <activity android:name="ViewContactActivity" 352 android:label="@string/viewContactTitle" 353 android:theme="@style/TallTitleBarTheme"> 354 355 <intent-filter android:label="@string/viewContactDesription"> 356 <action android:name="android.intent.action.VIEW" /> 357 <category android:name="android.intent.category.DEFAULT" /> 358 <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> 359 <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> 360 <data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" /> 361 </intent-filter> 362 </activity> 363 364 <!-- Edit or insert details for a contact --> 365 <activity 366 android:name=".ui.EditContactActivity" 367 android:windowSoftInputMode="stateHidden|adjustResize"> 368 369 <intent-filter android:label="@string/editContactDescription"> 370 <action android:name="android.intent.action.EDIT" /> 371 <category android:name="android.intent.category.DEFAULT" /> 372 <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> 373 <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> 374 <data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" /> 375 </intent-filter> 376 377 <intent-filter android:label="@string/insertContactDescription"> 378 <action android:name="android.intent.action.INSERT" /> 379 <category android:name="android.intent.category.DEFAULT" /> 380 <data android:mimeType="vnd.android.cursor.dir/person" /> 381 <data android:mimeType="vnd.android.cursor.dir/contact" /> 382 <data android:mimeType="vnd.android.cursor.dir/raw_contact" /> 383 </intent-filter> 384 385 </activity> 386 387 <!-- Stub service used to keep our process alive long enough for 388 background threads to finish their operations. --> 389 <service 390 android:name=".util.EmptyService" 391 android:exported="false" /> 392 393 <!-- Views the details of a single contact --> 394 <activity android:name="ContactOptionsActivity" 395 android:label="@string/contactOptionsTitle" 396 > 397 <intent-filter> 398 <action android:name="android.intent.action.EDIT" /> 399 <category android:name="android.intent.category.DEFAULT" /> 400 </intent-filter> 401 </activity> 402 403 <!-- Attaches a photo to a contact. Started from external applications --> 404 <activity android:name="AttachImage" 405 android:label="@string/attachToContact" 406 android:taskAffinity=""> 407 <intent-filter> 408 <action android:name="android.intent.action.ATTACH_DATA" /> 409 <data android:mimeType="image/*" /> 410 <category android:name="android.intent.category.DEFAULT" /> 411 </intent-filter> 412 /> 413 </activity> 414 415 <!-- Makes .ContactsListActivity the search target for any activity in Contacts --> 416 <meta-data 417 android:name="android.app.default_searchable" 418 android:value=".ContactsListActivity" /> 419 420 421 <!-- LIVE FOLDERS --> 422 <activity 423 android:name=".ContactsLiveFolders$AllContacts" 424 android:label="@string/liveFolderAll" 425 android:icon="@drawable/ic_launcher_folder_live_contacts"> 426 <intent-filter> 427 <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> 428 <category android:name="android.intent.category.DEFAULT" /> 429 </intent-filter> 430 </activity> 431 432 <activity 433 android:name=".ContactsLiveFolders$StarredContacts" 434 android:label="@string/liveFolderFavorites" 435 android:icon="@drawable/ic_launcher_folder_live_contacts_starred"> 436 <intent-filter> 437 <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> 438 <category android:name="android.intent.category.DEFAULT" /> 439 </intent-filter> 440 </activity> 441 442 <activity 443 android:name=".ContactsLiveFolders$PhoneContacts" 444 android:label="@string/liveFolderPhone" 445 android:icon="@drawable/ic_launcher_folder_live_contacts_phone"> 446 <intent-filter> 447 <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> 448 <category android:name="android.intent.category.DEFAULT" /> 449 </intent-filter> 450 </activity> 451 452 <activity android:name=".ImportVCardActivity" 453 android:theme="@style/BackgroundOnly"> 454 <intent-filter> 455 <action android:name="android.intent.action.VIEW" /> 456 <data android:mimeType="text/directory" /> 457 <data android:mimeType="text/x-vcard" /> 458 <category android:name="android.intent.category.DEFAULT" /> 459 </intent-filter> 460 </activity> 461 462 <activity android:name=".ExportVCardActivity" 463 android:theme="@style/BackgroundOnly" /> 464 </application> 465</manifest> 466