| <?xml version="1.0" encoding="utf-8"?> |
| <!-- Copyright (C) 2006 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.android.contacts" |
| android:sharedUserId="android.uid.shared" |
| android:sharedUserLabel="@string/sharedUserLabel" |
| > |
| |
| <original-package android:name="com.android.contacts" /> |
| |
| <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> |
| <uses-permission android:name="android.permission.READ_CONTACTS" /> |
| <uses-permission android:name="android.permission.WRITE_CONTACTS" /> |
| <uses-permission android:name="android.permission.INTERNET" /> |
| <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> |
| <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" /> |
| <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| <uses-permission android:name="android.permission.USE_CREDENTIALS" /> |
| <uses-permission android:name="android.permission.VIBRATE" /> |
| |
| <application |
| android:label="@string/contactsList" |
| android:icon="@drawable/ic_launcher_contacts" |
| android:process="android.process.acore" |
| android:taskAffinity="android.task.contacts" |
| android:hardwareAccelerated="true" |
| > |
| |
| <!-- A virtual 12 key dialer --> |
| <activity android:name="TwelveKeyDialer" |
| android:launchMode="singleTop" |
| > |
| <intent-filter> |
| <action android:name="com.android.phone.action.TOUCH_DIALER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- A list of recent calls --> |
| <activity android:name="RecentCallsListActivity" |
| android:label="@string/recentCallsIconLabel" |
| > |
| <intent-filter> |
| <action android:name="com.android.phone.action.RECENT_CALLS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Tab container for all tabs --> |
| <activity android:name="DialtactsActivity" |
| android:label="@string/launcherDialer" |
| android:theme="@style/DialtactsTheme" |
| android:launchMode="singleTask" |
| android:clearTaskOnLaunch="true" |
| android:icon="@drawable/ic_launcher_phone" |
| android:screenOrientation="nosensor" |
| android:enabled="@bool/dialerEnabled" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.DIAL" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| <data android:mimeType="vnd.android.cursor.item/phone" /> |
| <data android:mimeType="vnd.android.cursor.item/person" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.DIAL" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| <data android:scheme="voicemail" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.DIAL" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| <action android:name="android.intent.action.DIAL" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| <data android:scheme="tel" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| <data android:mimeType="vnd.android.cursor.dir/calls" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.CALL_BUTTON" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Front door proxy that picks the right UI based on the screen config --> |
| <activity android:name=".activities.ContactsFrontDoor" |
| android:label="@string/contactsList" |
| android:icon="@drawable/ic_launcher_contacts" |
| android:theme="@android:style/Theme.NoTitleBar" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Main launch Intent to open the Contacts app. This will open the app in its last manual |
| state. This is the state that has been explicitly set by the user (e.g. by clicking a tab). |
| States configured via other Intents (e.g. CallLog after Call) are not considered manual |
| state. At the moment, the Intent always goes to the DialtactsActivity, but this might later |
| be changed to also include sub-activities like Edit or View if they were left open --> |
| |
| <activity-alias android:name="ContactsLaunchActivity" |
| android:targetActivity="DialtactsActivity" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| </intent-filter> |
| </activity-alias> |
| |
| <!-- An empty activity that presents the DialtactActivity's Favorites tab --> |
| <activity-alias android:name="DialtactsFavoritesEntryActivity" |
| android:targetActivity="DialtactsActivity" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity-alias> |
| |
| <!-- The actual list of contacts --> |
| <activity android:name=".activities.ContactBrowserActivity" |
| android:label="@string/contactsList" |
| android:clearTaskOnLaunch="true" |
| android:theme="@style/ContactBrowserTheme" |
| > |
| <intent-filter> |
| <action android:name="com.android.contacts.action.LIST_DEFAULT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="com.android.contacts.action.LIST_CONTACTS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter android:label="@string/starredList"> |
| <action android:name="com.android.contacts.action.LIST_STARRED" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter android:label="@string/frequentList"> |
| <action android:name="com.android.contacts.action.LIST_FREQUENT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter android:label="@string/strequentList"> |
| <action android:name="com.android.contacts.action.LIST_STREQUENT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.TAB" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.SEARCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| |
| <meta-data android:name="android.app.searchable" |
| android:resource="@xml/searchable" |
| /> |
| </activity> |
| |
| <activity android:name=".activities.ContactSelectionActivity" |
| android:label="@string/contactsList" |
| android:clearTaskOnLaunch="true" |
| android:theme="@style/ContactPickerTheme" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.INSERT_OR_EDIT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/person" /> |
| <data android:mimeType="vnd.android.cursor.item/contact" /> |
| <data android:mimeType="vnd.android.cursor.item/raw_contact" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.PICK" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/phone_v2" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/phone" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/postal-address_v2" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.dir/postal-address" android:host="contacts" /> |
| </intent-filter> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.GET_CONTENT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/phone_v2" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/phone" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/postal-address_v2" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/postal-address" android:host="contacts" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Backwards compatibility: somebody may have hard coded this activity name --> |
| <activity-alias android:name="ContactsListActivity" |
| android:targetActivity=".activities.ContactBrowserActivity" |
| /> |
| |
| <!-- An activity for joining contacts --> |
| <activity android:name="JoinContactActivity" |
| android:theme="@style/JoinContactActivityTheme" |
| android:clearTaskOnLaunch="true" |
| > |
| <intent-filter> |
| <action android:name="com.android.contacts.action.JOIN_CONTACT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- An activity for selecting multiple phone numbers --> |
| <activity android:name="MultiplePhonePickerActivity" |
| android:enabled="false"> |
| <intent-filter> |
| <action android:name="com.android.contacts.action.GET_MULTIPLE_PHONES" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.dir/phone_v2" android:host="com.android.contacts" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- The contacts search/filter UI --> |
| <activity android:name=".activities.ContactSearchActivity" |
| android:theme="@style/ContactsSearchTheme" |
| android:windowSoftInputMode="stateAlwaysVisible" |
| > |
| <intent-filter> |
| <action android:name="com.android.contacts.action.FILTER_CONTACTS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" /> |
| </intent-filter> |
| |
| </activity> |
| |
| <!-- The contacts search/filter UI --> |
| <activity-alias android:name="SearchResultsActivity" |
| android:targetActivity=".activities.ContactBrowserActivity"> |
| </activity-alias> |
| |
| <!-- Used to set options --> |
| <activity |
| android:name=".preference.ContactsPreferenceActivity" |
| android:label="@string/activity_title_settings" |
| android:theme="@style/ContactsPreferencesTheme" /> |
| |
| <!-- Used to select display and sync groups --> |
| <activity |
| android:name=".list.CustomContactListFilterActivity" |
| android:label="@string/custom_list_filter" |
| android:theme="@style/CustomContactListFilterTheme" /> |
| |
| <activity |
| android:name=".ui.ShowOrCreateActivity" |
| android:theme="@style/FullyTranslucent"> |
| |
| <intent-filter> |
| <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:scheme="mailto" /> |
| <data android:scheme="tel" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Used to show QuickContact window over a translucent activity, which is a |
| temporary hack until we add better framework support. --> |
| <activity |
| android:name=".ui.QuickContactActivity" |
| android:theme="@style/FullyTranslucent.QuickContact" |
| android:launchMode="singleTop" |
| android:excludeFromRecents="true" |
| android:taskAffinity="android.task.quickcontact" |
| android:windowSoftInputMode="stateUnchanged" |
| > |
| |
| <intent-filter> |
| <action android:name="com.android.contacts.action.QUICK_CONTACT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> |
| </intent-filter> |
| </activity> |
| |
| <activity-alias android:name="ContactShortcut" |
| android:targetActivity=".activities.ContactSelectionActivity" |
| android:label="@string/shortcutContact" |
| android:icon="@drawable/ic_launcher_shortcut_contact"> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_SHORTCUT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| |
| </activity-alias> |
| |
| <activity-alias android:name="alias.DialShortcut" |
| android:targetActivity=".activities.ContactSelectionActivity" |
| android:label="@string/shortcutDialContact" |
| android:icon="@drawable/ic_launcher_shortcut_directdial"> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_SHORTCUT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.CAR_MODE" /> |
| </intent-filter> |
| |
| </activity-alias> |
| |
| <activity-alias android:name="alias.MessageShortcut" |
| android:targetActivity=".activities.ContactSelectionActivity" |
| android:label="@string/shortcutMessageContact" |
| android:icon="@drawable/ic_launcher_shortcut_directmessage"> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_SHORTCUT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| |
| </activity-alias> |
| |
| <activity android:name="CallDetailActivity" |
| android:label="@string/callDetailTitle" |
| android:theme="@style/CallDetailActivityTheme" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/calls" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Views the details of a single contact --> |
| <activity android:name=".activities.ContactDetailActivity" |
| android:label="@string/viewContactTitle" |
| android:theme="@style/ContactDetailActivityTheme"> |
| |
| <intent-filter android:label="@string/viewContactDesription"> |
| <action android:name="android.intent.action.VIEW" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Create a new or edit an existing contact --> |
| <activity |
| android:name=".activities.ContactEditorActivity" |
| android:theme="@style/ContactEditorActivityTheme" |
| android:windowSoftInputMode="adjustResize"> |
| |
| <intent-filter android:label="@string/editContactDescription"> |
| <action android:name="android.intent.action.EDIT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" /> |
| <data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" /> |
| </intent-filter> |
| <intent-filter android:label="@string/insertContactDescription"> |
| <action android:name="android.intent.action.INSERT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.dir/person" /> |
| <data android:mimeType="vnd.android.cursor.dir/contact" /> |
| <data android:mimeType="vnd.android.cursor.dir/raw_contact" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Stub service used to keep our process alive long enough for |
| background threads to finish their operations. --> |
| <service |
| android:name=".util.EmptyService" |
| android:exported="false" /> |
| |
| <!-- Service to save a contact --> |
| <service |
| android:name=".views.ContactSaveService" |
| android:exported="false" /> |
| |
| <!-- Views the details of a single contact --> |
| <activity android:name="ContactOptionsActivity" |
| android:label="@string/contactOptionsTitle" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.EDIT" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Attaches a photo to a contact. Started from external applications --> |
| <activity android:name="AttachImage" |
| android:label="@string/attachToContact" |
| android:taskAffinity=""> |
| <intent-filter> |
| <action android:name="android.intent.action.ATTACH_DATA" /> |
| <data android:mimeType="image/*" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| /> |
| </activity> |
| |
| <!-- Interstitial activity that shows a phone disambig dialog --> |
| <activity android:name="CallContactActivity" |
| android:theme="@android:style/Theme.Translucent"> |
| </activity> |
| |
| <!-- Makes .ContactBrowserActivity the search target for any activity in Contacts --> |
| <meta-data |
| android:name="android.app.default_searchable" |
| android:value=".activities.ContactBrowserActivity" /> |
| |
| |
| <!-- LIVE FOLDERS --> |
| <activity |
| android:name=".ContactsLiveFolders$AllContacts" |
| android:label="@string/liveFolderAll" |
| android:icon="@drawable/ic_launcher_folder_live_contacts"> |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".ContactsLiveFolders$StarredContacts" |
| android:label="@string/liveFolderFavorites" |
| android:icon="@drawable/ic_launcher_folder_live_contacts_starred"> |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".ContactsLiveFolders$PhoneContacts" |
| android:label="@string/liveFolderPhone" |
| android:icon="@drawable/ic_launcher_folder_live_contacts_phone"> |
| <intent-filter> |
| <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- vCard related --> |
| <activity android:name=".vcard.ImportVCardActivity" |
| android:theme="@style/BackgroundOnly"> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| <data android:mimeType="text/directory" /> |
| <data android:mimeType="text/vcard" /> |
| <data android:mimeType="text/x-vcard" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity android:name=".vcard.CancelImportActivity" |
| android:theme="@style/BackgroundOnly" /> |
| |
| <activity android:name=".vcard.SelectAccountActivity" |
| android:theme="@style/BackgroundOnly" /> |
| |
| <activity android:name=".vcard.ExportVCardActivity" |
| android:theme="@style/BackgroundOnly" /> |
| |
| <service |
| android:name=".vcard.VCardService" |
| android:exported="false" /> |
| |
| <!-- Pinned header list demo --> |
| <activity android:name=".widget.PinnedHeaderListDemoActivity"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| </application> |
| </manifest> |