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