PostalAddressPickerFragment.java revision d820cdbefa159bdf4c281ac8102805fe9a165379
1d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov/* 2d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * Copyright (C) 2010 The Android Open Source Project 3d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * 4d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * Licensed under the Apache License, Version 2.0 (the "License"); 5d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * you may not use this file except in compliance with the License. 6d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * You may obtain a copy of the License at 7d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * 8d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * http://www.apache.org/licenses/LICENSE-2.0 9d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * 10d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * Unless required by applicable law or agreed to in writing, software 11d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * distributed under the License is distributed on an "AS IS" BASIS, 12d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * See the License for the specific language governing permissions and 14d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * limitations under the License. 15d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov */ 16d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovpackage com.android.contacts.list; 17d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 18d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovimport com.android.contacts.R; 19d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 20d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovimport android.net.Uri; 21d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovimport android.view.LayoutInflater; 22d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovimport android.view.View; 23d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovimport android.view.ViewGroup; 24d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 25d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov/** 26d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov * Fragment containing a postal address list for picking. 27d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov */ 28d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikovpublic class PostalAddressPickerFragment 29d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov extends ContactEntryListFragment<PostalAddressListAdapter> { 30d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov private OnPostalAddressPickerActionListener mListener; 31d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 32d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov public PostalAddressPickerFragment() { 33d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov setPhotoLoaderEnabled(true); 34d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov setSectionHeaderDisplayEnabled(true); 35d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 36d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 37d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov public void setOnPostalAddressPickerActionListener( 38d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov OnPostalAddressPickerActionListener listener) { 39d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov this.mListener = listener; 40d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 41d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 42d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov @Override 43d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov protected void onItemClick(int position, long id) { 44d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov PostalAddressListAdapter adapter = getAdapter(); 45d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov// if (adapter.isSearchAllContactsItemPosition(position)) { 46d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov// searchAllContacts(); 47d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov// } else { 48d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.moveToPosition(position); 49d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov pickPostalAddress(adapter.getDataUri()); 50d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov// } 51d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 52d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 53d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov @Override 54d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov protected PostalAddressListAdapter createListAdapter() { 55d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov PostalAddressListAdapter adapter = new PostalAddressListAdapter(getActivity()); 56d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 57d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setSectionHeaderDisplayEnabled(true); 58d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setDisplayPhotos(true); 59d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 60d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setSearchMode(isSearchMode()); 61d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setSearchResultsMode(isSearchResultsMode()); 62d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setQueryString(getQueryString()); 63d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 64d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setContactNameDisplayOrder(getContactNameDisplayOrder()); 65d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov adapter.setSortOrder(getSortOrder()); 66d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 67d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov return adapter; 68d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 69d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 70d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov @Override 71d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov protected View inflateView(LayoutInflater inflater, ViewGroup container) { 72d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov if (isSearchMode()) { 73d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov return inflater.inflate(R.layout.contacts_search_content, null); 74d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } else if (isSearchResultsMode()) { 75d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov return inflater.inflate(R.layout.contacts_list_search_results, null); 76d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } else { 77d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov return inflater.inflate(R.layout.contacts_list_content, null); 78d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 79d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 80d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov 81d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov public void pickPostalAddress(Uri uri) { 82d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov mListener.onPickPostalAddressAction(uri); 83d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov } 84d820cdbefa159bdf4c281ac8102805fe9a165379Dmitri Plotnikov} 85