AllIntentsActivity.java revision 79bea93fe361aac5b4928ef090b5021bcba99428
131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov/* 231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * Copyright (C) 2010 The Android Open Source Project 331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * 431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * Licensed under the Apache License, Version 2.0 (the "License"); 531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * you may not use this file except in compliance with the License. 631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * You may obtain a copy of the License at 731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * 831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * http://www.apache.org/licenses/LICENSE-2.0 931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * 1031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * Unless required by applicable law or agreed to in writing, software 1131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * distributed under the License is distributed on an "AS IS" BASIS, 1231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * See the License for the specific language governing permissions and 1431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * limitations under the License. 1531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov */ 1631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 1731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovpackage com.android.contacts.tests.allintents; 1831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 1931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport com.android.contacts.ContactsSearchManager; 201a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikovimport com.android.contacts.list.ContactsRequest; 2131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport com.android.contacts.tests.R; 2279bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikovimport com.google.android.collect.Lists; 2331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 2431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.app.ListActivity; 2531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.app.SearchManager; 2631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.content.ComponentName; 2731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.content.ContentUris; 2879bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikovimport android.content.ContentValues; 2931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.content.Intent; 3031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.database.Cursor; 3131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.net.Uri; 3231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.os.Bundle; 3331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.Contacts.ContactMethods; 3431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.Contacts.People; 3531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.Contacts.Phones; 3679bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikovimport android.provider.ContactsContract.CommonDataKinds.Email; 3779bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikovimport android.provider.ContactsContract.CommonDataKinds.Organization; 3831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.ContactsContract.CommonDataKinds.Phone; 3931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.ContactsContract.CommonDataKinds.StructuredPostal; 4027834b2ae8bb5a65dfc20c212844d98d1c252caeDmitri Plotnikovimport android.provider.ContactsContract.Contacts; 4179bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikovimport android.provider.ContactsContract.Data; 4227834b2ae8bb5a65dfc20c212844d98d1c252caeDmitri Plotnikovimport android.provider.ContactsContract.Intents; 4331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.ContactsContract.Intents.Insert; 4431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.provider.ContactsContract.Intents.UI; 4527834b2ae8bb5a65dfc20c212844d98d1c252caeDmitri Plotnikovimport android.provider.ContactsContract.RawContacts; 4631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.view.View; 4731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.widget.ArrayAdapter; 4831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovimport android.widget.ListView; 4965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmannimport android.widget.Toast; 5031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 5131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov/** 5231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * An activity that provides access to various modes of the contacts application. 5331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov * Useful for manual and scripted tests. 5431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov */ 5531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov@SuppressWarnings("deprecation") 5631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikovpublic class AllIntentsActivity extends ListActivity { 5731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 5831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final String ANDROID_CONTACTS_PACKAGE = "com.android.contacts"; 5931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 60b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov private static final String CONTACT_LIST_ACTIVITY_CLASS_NAME = 61009676f9f2a5d8d47756be37abd9a14f2e564979Dmitri Plotnikov "com.android.contacts.activities.ContactBrowserActivity"; 6231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final String SEARCH_RESULTS_ACTIVITY_CLASS_NAME = 6331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov "com.android.contacts.SearchResultsActivity"; 64e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov private static final String MULTIPLE_PHONE_PICKER_ACTIVITY_CLASS_NAME = 6527834b2ae8bb5a65dfc20c212844d98d1c252caeDmitri Plotnikov "com.android.contacts.MultiplePhonePickerActivity"; 6631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 6731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_DEFAULT = 0; 6831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_ALL_CONTACTS_ACTION = 1; 6931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_CONTACTS_WITH_PHONES_ACTION = 2; 7031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_STARRED_ACTION = 3; 7131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_STARRED_ACTION_WITH_FILTER = 4; 7231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_FREQUENT_ACTION = 5; 7331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_FREQUENT_ACTION_WITH_FILTER = 6; 7431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_STREQUENT_ACTION = 7; 7531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int LIST_STREQUENT_ACTION_WITH_FILTER = 8; 7631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_CONTACT = 9; 7731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_CONTACT_LEGACY = 10; 7831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_PHONE = 11; 7931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_PHONE_LEGACY = 12; 8031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_POSTAL = 13; 8131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_PICK_POSTAL_LEGACY = 14; 8231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_CONTACT = 15; 8331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_CONTACT_FILTER = 16; 8431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_DIAL = 17; 8531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_DIAL_FILTER = 18; 8631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_MESSAGE = 19; 8731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_CREATE_SHORTCUT_MESSAGE_FILTER = 20; 8831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_CONTACT = 21; 8931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_CONTACT_FILTER = 22; 9031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_CONTACT_LEGACY = 23; 9131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_CONTACT_FILTER_LEGACY = 24; 9231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_PHONE = 25; 9331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_PHONE_FILTER = 26; 9431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_PHONE_LEGACY = 27; 9531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_POSTAL = 28; 9631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_POSTAL_FILTER = 29; 9731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_CONTENT_POSTAL_LEGACY = 30; 9831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_INSERT_OR_EDIT = 31; 9931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_SEARCH_CALL = 32; 10031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_SEARCH_CONTACT = 33; 10131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_SEARCH_EMAIL = 34; 10231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_SEARCH_PHONE = 35; 10331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int SEARCH_SUGGESTION_CLICKED_CALL_BUTTON = 36; 10431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int SEARCH_SUGGESTION_CLICKED_CONTACT = 37; 10531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = 38; 10631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = 39; 10731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int JOIN_CONTACT = 40; 10831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private static final int ACTION_GET_MULTIPLE_PHONES = 41; 10931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 11065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_CONTACT = 42; 11165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_CONTACT_LOOKUP = 43; 11265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_CONTACT_LOOKUP_ID = 44; 11365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_RAW_CONTACT = 45; 11465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_LEGACY = 46; 11565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private static final int EDIT_NEW_CONTACT = 47; 11679bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int EDIT_NEW_CONTACT_WITH_DATA = 48; 11779bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int EDIT_NEW_RAW_CONTACT = 49; 11879bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int EDIT_NEW_LEGACY = 50; 11965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann 12079bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int VIEW_CONTACT = 51; 12179bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int VIEW_CONTACT_LOOKUP = 52; 12279bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int VIEW_CONTACT_LOOKUP_ID = 53; 12379bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int VIEW_RAW_CONTACT = 54; 12479bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov private static final int VIEW_LEGACY = 55; 1253b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann 12631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov @Override 12731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov protected void onCreate(Bundle savedInstanceState) { 12831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov super.onCreate(savedInstanceState); 12931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov setListAdapter(new ArrayAdapter<String>(this, R.layout.intent_list_item, 13031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov getResources().getStringArray(R.array.allIntents))); 13131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 13231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 13331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov @Override 13431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov protected void onListItemClick(ListView l, View v, int position, long id) { 13531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov super.onListItemClick(l, v, position, id); 13631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 13731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov switch (position) { 13831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_DEFAULT: { 139b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 14031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_VIEW, Contacts.CONTENT_URI)); 14131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 14231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 14331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_ALL_CONTACTS_ACTION: { 144b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 14531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(UI.LIST_ALL_CONTACTS_ACTION, Contacts.CONTENT_URI)); 14631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 14731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 14831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_CONTACTS_WITH_PHONES_ACTION: { 149b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 15031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(UI.LIST_CONTACTS_WITH_PHONES_ACTION, Contacts.CONTENT_URI)); 15131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 15231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 15331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_STARRED_ACTION: { 154b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 15531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(UI.LIST_STARRED_ACTION, Contacts.CONTENT_URI)); 15631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 15731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 15831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_STARRED_ACTION_WITH_FILTER: { 159b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(buildFilterIntent(ContactsRequest.ACTION_STARRED, false)); 16031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 16131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 16231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_FREQUENT_ACTION: { 163b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 16431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(UI.LIST_FREQUENT_ACTION, Contacts.CONTENT_URI)); 16531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 16631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 16731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_FREQUENT_ACTION_WITH_FILTER: { 168b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 1691a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_FREQUENT, false)); 17031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 17131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 17231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_STREQUENT_ACTION: { 173b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 17431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(UI.LIST_STREQUENT_ACTION, Contacts.CONTENT_URI)); 17531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 17631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 17731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case LIST_STREQUENT_ACTION_WITH_FILTER: { 178b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity( 1791a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_STREQUENT, false)); 18031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 18131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 18231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_CONTACT: { 183b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 18431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI)); 18531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 18631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 18731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_CONTACT_LEGACY: { 188b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 18931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_PICK, People.CONTENT_URI)); 19031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 19131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 19231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_PHONE: { 193b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 19431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_PICK, Phone.CONTENT_URI)); 19531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 19631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 19731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_PHONE_LEGACY: { 198b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 19931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI)); 20031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 20131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 20231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_POSTAL: { 203b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 20431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new Intent(Intent.ACTION_PICK, StructuredPostal.CONTENT_URI)); 20531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 20631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 20731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_PICK_POSTAL_LEGACY: { 20831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_PICK); 20931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(ContactMethods.CONTENT_POSTAL_TYPE); 210b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 21131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 21231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 21331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_CONTACT: { 21431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_CREATE_SHORTCUT); 215b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 21631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 21731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 21831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_CONTACT_FILTER: { 219b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2201a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_CREATE_SHORTCUT_CONTACT, 2211a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov false)); 22231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 22331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 22431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_DIAL: { 22531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_CREATE_SHORTCUT); 22631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setComponent( 22731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new ComponentName(ANDROID_CONTACTS_PACKAGE, "alias.DialShortcut")); 22831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivityForResult(intent, 0); 22931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 23031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 23131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_DIAL_FILTER: { 232b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2331a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_CREATE_SHORTCUT_CALL, 2341a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov false)); 23531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 23631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 23731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_MESSAGE: { 23831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_CREATE_SHORTCUT); 23931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setComponent( 24031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new ComponentName(ANDROID_CONTACTS_PACKAGE, "alias.MessageShortcut")); 24131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivityForResult(intent, 0); 24231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 24331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 24431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_CREATE_SHORTCUT_MESSAGE_FILTER: { 245b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2461a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_CREATE_SHORTCUT_CALL, false)); 24731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 24831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 24931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_CONTACT: { 25031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 25131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(Contacts.CONTENT_ITEM_TYPE); 252b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 25331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 25431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 25531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_CONTACT_LEGACY: { 25631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 25731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(People.CONTENT_ITEM_TYPE); 258b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 25931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 26031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 26131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_CONTACT_FILTER: { 262b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2631a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_PICK_OR_CREATE_CONTACT, false)); 26431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 26531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 26631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_CONTACT_FILTER_LEGACY: { 267b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2681a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_PICK_OR_CREATE_CONTACT, 2691a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov true)); 27031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 27131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 27231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_PHONE: { 27331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 27431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(Phone.CONTENT_ITEM_TYPE); 275b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 27631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 27731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 27831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_PHONE_FILTER: { 279b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2801a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_PICK_PHONE, true)); 28131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 28231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 28331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_PHONE_LEGACY: { 28431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 28531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(Phones.CONTENT_ITEM_TYPE); 286b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 28731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 28831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 28931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_POSTAL: { 29031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 29131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(StructuredPostal.CONTENT_ITEM_TYPE); 292b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 29331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 29431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 29531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_POSTAL_FILTER: { 296b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult( 2971a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov buildFilterIntent(ContactsRequest.ACTION_PICK_POSTAL, false)); 29831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 29931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 30031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_CONTENT_POSTAL_LEGACY: { 30131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 30231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(ContactMethods.CONTENT_POSTAL_ITEM_TYPE); 303b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactSelectionActivityForResult(intent); 30431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 30531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 30631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_INSERT_OR_EDIT: { 30731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); 308b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(intent); 30931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 31031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 31131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_SEARCH_CALL: { 31231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_SEARCH); 31331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(SearchManager.ACTION_MSG, "call"); 31431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(SearchManager.QUERY, "800-4664-411"); 31531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startSearchResultActivity(intent); 31631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 31731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 31831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_SEARCH_CONTACT: { 31931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_SEARCH); 32031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(SearchManager.QUERY, "a"); 32131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startSearchResultActivity(intent); 32231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 32331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 32431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_SEARCH_EMAIL: { 32531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_SEARCH); 32631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(Insert.EMAIL, "a"); 32731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startSearchResultActivity(intent); 32831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 32931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 33031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_SEARCH_PHONE: { 33131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_SEARCH); 33231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(Insert.PHONE, "800"); 33331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startSearchResultActivity(intent); 33431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 33531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 33631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case SEARCH_SUGGESTION_CLICKED_CALL_BUTTON: { 33731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov long contactId = findArbitraryContactWithPhoneNumber(); 33831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov if (contactId != -1) { 33931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 34031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intents.SEARCH_SUGGESTION_CLICKED); 34131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setData(contactUri); 34231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(SearchManager.ACTION_MSG, "call"); 343b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(intent); 34431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 34531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 34631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 34731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case SEARCH_SUGGESTION_CLICKED_CONTACT: { 34831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov long contactId = findArbitraryContactWithPhoneNumber(); 34931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov if (contactId != -1) { 35031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 35131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intents.SEARCH_SUGGESTION_CLICKED); 35231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setData(contactUri); 353b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(intent); 35431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 35531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 35631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 35731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED: { 35831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intents.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED); 35931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setData(Uri.parse("tel:800-4664411")); 360b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(intent); 36131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 36231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 36331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED: { 36431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intents.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED); 36531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setData(Uri.parse("tel:800-4664411")); 366b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov startContactListActivity(intent); 36731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 36831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 36931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case JOIN_CONTACT: { 37031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov // TODO 37131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 37231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 37331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov case ACTION_GET_MULTIPLE_PHONES: { 37431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(Intents.ACTION_GET_MULTIPLE_PHONES); 37531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setType(Phone.CONTENT_TYPE); 376e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov intent.putExtra(Intents.EXTRA_PHONE_URIS, new Uri[] { 377e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov Uri.parse("tel:555-1212"), Uri.parse("tel:555-2121") 378e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov }); 379e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov startMultiplePhoneSelectionActivityForResult(intent); 38031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov break; 38131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 38265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_CONTACT: { 38365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 38465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 38565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_EDIT, uri); 38665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(intent); 38765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 38865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 38965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_CONTACT_LOOKUP: { 39065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 39165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 39265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), uri); 39365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final String lookupKey = lookupUri.getPathSegments().get(2); 39465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri lookupWithoutIdUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, 39565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann lookupKey); 39665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_EDIT, lookupWithoutIdUri); 39765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(intent); 39865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 39965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 40065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_CONTACT_LOOKUP_ID: { 40165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 40265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 40365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), uri); 40465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_EDIT, lookupUri); 40565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(intent); 40665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 40765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 40865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_RAW_CONTACT: { 40965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 41065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long rawContactId = findArbitraryRawContactOfContact(contactId); 41165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri uri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId); 41265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_EDIT, uri); 41365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(intent); 41465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 41565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 41665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_LEGACY: { 41765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri legacyContentUri = Uri.parse("content://contacts/people"); 41865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 41965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final long rawContactId = findArbitraryRawContactOfContact(contactId); 42065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri uri = ContentUris.withAppendedId(legacyContentUri, rawContactId); 42165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_EDIT, uri); 42265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(intent); 42365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 42465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 42565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_NEW_CONTACT: { 42665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI)); 42765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 42865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 42979bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov case EDIT_NEW_CONTACT_WITH_DATA: { 43079bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI); 43179bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov 43279bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov ContentValues row1 = new ContentValues(); 43379bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE); 43479bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row1.put(Organization.COMPANY, "Android"); 43579bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov 43679bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov ContentValues row2 = new ContentValues(); 43779bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); 43879bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row2.put(Email.TYPE, Email.TYPE_CUSTOM); 43979bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row2.put(Email.LABEL, "Green Bot"); 44079bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov row2.put(Email.ADDRESS, "android@android.com"); 44179bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov 44279bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov intent.putParcelableArrayListExtra(Insert.DATA, Lists.newArrayList(row1, row2)); 44379bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov 44479bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov startActivity(intent); 44579bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov break; 44679bea93fe361aac5b4928ef090b5021bcba99428Dmitri Plotnikov } 44765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_NEW_RAW_CONTACT: { 44865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(new Intent(Intent.ACTION_INSERT, RawContacts.CONTENT_URI)); 44965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 45065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 45165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann case EDIT_NEW_LEGACY: { 45265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Uri legacyContentUri = Uri.parse("content://contacts/people"); 45365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann startActivity(new Intent(Intent.ACTION_INSERT, legacyContentUri)); 45465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann break; 45565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 4563b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann case VIEW_CONTACT: { 4573b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 4583b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 4593b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_VIEW, uri); 4603b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann startActivity(intent); 4613b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann break; 4623b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann } 4633b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann case VIEW_CONTACT_LOOKUP: { 4643b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 4653b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 4663b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), uri); 4673b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final String lookupKey = lookupUri.getPathSegments().get(2); 4683b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri lookupWithoutIdUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, 4693b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann lookupKey); 4703b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_VIEW, lookupWithoutIdUri); 4713b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann startActivity(intent); 4723b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann break; 4733b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann } 4743b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann case VIEW_CONTACT_LOOKUP_ID: { 4753b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 4763b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); 4773b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), uri); 4783b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_VIEW, lookupUri); 4793b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann startActivity(intent); 4803b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann break; 4813b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann } 4823b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann case VIEW_RAW_CONTACT: { 4833b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 4843b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long rawContactId = findArbitraryRawContactOfContact(contactId); 4853b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri uri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId); 4863b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_VIEW, uri); 4873b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann startActivity(intent); 4883b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann break; 4893b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann } 4903b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann case VIEW_LEGACY: { 4913b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri legacyContentUri = Uri.parse("content://contacts/people"); 4923b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long contactId = findArbitraryContactWithPhoneNumber(); 4933b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final long rawContactId = findArbitraryRawContactOfContact(contactId); 4943b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Uri uri = ContentUris.withAppendedId(legacyContentUri, rawContactId); 4953b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann final Intent intent = new Intent(Intent.ACTION_VIEW, uri); 4963b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann startActivity(intent); 4973b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann break; 4983b7d5949bfa524534e5d1aa29b8eaff8733ae00cDaniel Lehmann } 49965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann default: { 50065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann Toast.makeText(this, "Sorry, we forgot to write this...", Toast.LENGTH_LONG).show(); 50165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 50231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 50331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 50431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 5051a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov private Intent buildFilterIntent(int actionCode, boolean legacy) { 50631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(UI.FILTER_CONTACTS_ACTION); 50731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra(UI.FILTER_TEXT_EXTRA_KEY, "A"); 5081a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov ContactsRequest request = new ContactsRequest(); 5091a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov request.setActionCode(actionCode); 5101a222007768e555f38fa8875ffc73c8a83a266afDmitri Plotnikov intent.putExtra(ContactsSearchManager.ORIGINAL_REQUEST_KEY, request); 51131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov return intent; 51231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 51331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 514b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov private void startContactListActivity(Intent intent) { 51531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setComponent( 516b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov new ComponentName(ANDROID_CONTACTS_PACKAGE, CONTACT_LIST_ACTIVITY_CLASS_NAME)); 51731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 51831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivity(intent); 51931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 52031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 521b979b4294c14f2bc562a5279910bafb7ac1a92b4Dmitri Plotnikov private void startContactSelectionActivityForResult(Intent intent) { 52231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivityForResult(intent, 12); 52331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 52431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 52531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private void startSearchResultActivity(Intent intent) { 52631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setComponent( 52731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov new ComponentName(ANDROID_CONTACTS_PACKAGE, SEARCH_RESULTS_ACTIVITY_CLASS_NAME)); 52831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 52931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivity(intent); 53031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 53131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 532e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov private void startMultiplePhoneSelectionActivityForResult(Intent intent) { 533e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov intent.setComponent( 534e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov new ComponentName(ANDROID_CONTACTS_PACKAGE, 535e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov MULTIPLE_PHONE_PICKER_ACTIVITY_CLASS_NAME)); 536e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov startActivityForResult(intent, 13); 537e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov } 538e8ae9acbde772c94fd7d50b3f65bd3b1278c338bDmitri Plotnikov 53931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov @Override 54031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov protected void onActivityResult(int requestCode, int resultCode, Intent data) { 54131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov Intent intent = new Intent(this, ResultActivity.class); 54231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra("resultCode", resultCode); 54331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov intent.putExtra("data", data); 54431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov startActivity(intent); 54531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 54631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 54731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov private long findArbitraryContactWithPhoneNumber() { 54865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Cursor cursor = getContentResolver().query(Contacts.CONTENT_URI, 54965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann new String[] { Contacts._ID }, 550884e393af339ba1357dd1aea4c8e821396c214b9Dmitri Plotnikov Contacts.HAS_PHONE_NUMBER + "!=0 AND " + Contacts.STARRED + "!=0" , 551884e393af339ba1357dd1aea4c8e821396c214b9Dmitri Plotnikov null, "RANDOM() LIMIT 1"); 55231ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov try { 55331ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov if (cursor.moveToFirst()) { 55431ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov return cursor.getLong(0); 55531ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 55631ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } finally { 55731ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov cursor.close(); 55831ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 55931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov 56031ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov return -1; 56131ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov } 56265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann 56365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann private long findArbitraryRawContactOfContact(long contactId) { 56465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann final Cursor cursor = getContentResolver().query(RawContacts.CONTENT_URI, 56565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann new String[] { RawContacts._ID }, 56665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann RawContacts.CONTACT_ID + "=?", 56765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann new String[] { String.valueOf(contactId) }, 56865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann RawContacts._ID + " LIMIT 1"); 56965c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann try { 57065c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann if (cursor.moveToFirst()) { 57165c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann return cursor.getLong(0); 57265c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 57365c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } finally { 57465c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann cursor.close(); 57565c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 57665c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann 57765c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann return -1; 57865c90e23a0c141d390fc2177a1b461646f4f8a3aDaniel Lehmann } 57931ec0b51ac4d508f8727608b98d0bf916f2b20b9Dmitri Plotnikov} 580