ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
PICKIMPORTOPENNEWUPDATE
2
E-mailjs/cards/compose.js (x2)js/cards/message_reader.js (x2)js/cards/message_reader.jsjs/cards/message_reader.js
3
SMSviews/conversation/js/compose.js
sms/views/conversation/js/conversation.js
views/conversation/js/attachment.js
views/shared/js/activity_picker.js
views/shared/js/activity_picker.js
views/shared/js/activity_picker.js
4
Dialerjs/add_contact_menu.js
js/call_info.js
js/add_contact_menu.js
js/call_info.js
5
Emergencyemergency-call/js/keypad.js
6
Searchsearch/js/providers/contacts.js
7
Systemjs/bluetooth_transfer.js
js/nfc_manager.js
8
9
10
11
12
The pick activity is used either to select the destination of an SMS/e-mail or to include a contact as an attachment in an e-mail/MMS. It is used a bit differently (e.g. contacts without e-mail address are not valid destination for the e-mail app), but it is kind of consistent.The import activity is used by the Bluetooth & NFC parts of the System App. They use it to import all the contacts (1 or more) available in a vCard file received by either BT or NFC.

If there is just one contact, it's imported directly and the details shown to the user (view-contact-details), if there are more than one, all are imported and the whole contact list shown (view-contact-list)
The open contact is used for two different purposes:

A/ View the details of a contact (but not in an editable way), e.g. clicking on the header of the SMS thread view, where the other party is a known contact. (view-contact-details view)
B/ View the contact(s) contained in a vCard that has been attached to an e-mail/MMS. In this case, if there is just one contact, it is open in an editable view, where the user can click on "Save" to store that contact in the database (view-contact-form). If there are more than one, the user is shown the list of contacts and is given the option to import all (multipe-select-view), and if so, he is moved to the list of contacts.

There is a big overlap with the import activity and we should try to review this approach. The problem is that these activities are used by other apps, and we should be careful with any change.
This is used to create a new contact, either from the scratch or either with some preloaded data (a phone number, an e-mail address).

It uses the "view-contact-form" view
This is used to open a contact in an editable way. This is used by the apps that want to add some details (e.g. an e-mail address) to an existing contact.

It uses the "add-parameters" view
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100