OSDN Git Service

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