1c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann/* 2c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * Copyright (C) 2011 The Android Open Source Project 3c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * 4c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * Licensed under the Apache License, Version 2.0 (the "License"); 5c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * you may not use this file except in compliance with the License. 6c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * You may obtain a copy of the License at 7c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * 8c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * http://www.apache.org/licenses/LICENSE-2.0 9c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * 10c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * Unless required by applicable law or agreed to in writing, software 11c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * distributed under the License is distributed on an "AS IS" BASIS, 12c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * See the License for the specific language governing permissions and 14c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * limitations under the License. 15c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann */ 16c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannpackage com.android.contacts.list; 17c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 18c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannimport com.android.contacts.R; 19c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 20c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannimport android.net.Uri; 21c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannimport android.view.LayoutInflater; 22c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannimport android.view.View; 23c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannimport android.view.ViewGroup; 24c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 25c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann/** 26c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann * Fragment containing an email list for picking. 27c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann */ 28c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmannpublic class EmailAddressPickerFragment extends ContactEntryListFragment<ContactEntryListAdapter> { 29c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann private OnEmailAddressPickerActionListener mListener; 30c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 31c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann public EmailAddressPickerFragment() { 32c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann setQuickContactEnabled(false); 33c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann setPhotoLoaderEnabled(true); 34c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann setSectionHeaderDisplayEnabled(true); 35c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_DATA_SHORTCUT); 36c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 37c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 38c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann public void setOnEmailAddressPickerActionListener(OnEmailAddressPickerActionListener listener) { 39c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann mListener = listener; 40c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 41c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 42c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann @Override 43c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann protected void onItemClick(int position, long id) { 44c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann EmailAddressListAdapter adapter = (EmailAddressListAdapter)getAdapter(); 45c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann pickEmailAddress(adapter.getDataUri(position)); 46c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 47c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 48c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann @Override 49c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann protected ContactEntryListAdapter createListAdapter() { 50c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann EmailAddressListAdapter adapter = new EmailAddressListAdapter(getActivity()); 51c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann adapter.setSectionHeaderDisplayEnabled(true); 52c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann adapter.setDisplayPhotos(true); 53c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann return adapter; 54c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 55c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 56c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann @Override 57c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann protected View inflateView(LayoutInflater inflater, ViewGroup container) { 5834b901ca7781cf7fdd4f6275ef98ae73c95749c2Daisuke Miyakawa return inflater.inflate(R.layout.contact_list_content, null); 59c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 60c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann 61e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa @Override 62e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa protected void onCreateView(LayoutInflater inflater, ViewGroup container) { 63e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa super.onCreateView(inflater, container); 64e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa 65e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa setVisibleScrollbarEnabled(!isLegacyCompatibilityMode()); 66e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa } 67e231f1994a57b3ecaa3a1c73ed7ddfec40fbd235Daisuke Miyakawa 68c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann private void pickEmailAddress(Uri uri) { 69c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann mListener.onPickEmailAddressAction(uri); 70c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann } 71c86ace78ca5c2e10dcb001a916386c8a9865e230Daniel Lehmann} 72