ContactsListLoader.java revision 9b694a3b8f0339356c304ae078f63ae91df42226
1/*
2 * Copyright (C) 2010 Google Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *	    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
15 */
16
17package com.android.loaderapp.model;
18
19import android.content.Context;
20import android.content.CursorLoader;
21import android.net.Uri;
22import android.provider.ContactsContract.Contacts;
23
24/**
25 * Helper for loading contact lists.
26 */
27public class ContactsListLoader {
28    public static final String[] COLUMNS = new String[] {
29        Contacts._ID,                       // 0
30        Contacts.DISPLAY_NAME_PRIMARY,      // 1
31        Contacts.DISPLAY_NAME_ALTERNATIVE,  // 2
32        Contacts.SORT_KEY_PRIMARY,          // 3
33        Contacts.STARRED,                   // 4
34        Contacts.TIMES_CONTACTED,           // 5
35        Contacts.CONTACT_PRESENCE,          // 6
36        Contacts.PHOTO_ID,                  // 7
37        Contacts.LOOKUP_KEY,                // 8
38        Contacts.PHONETIC_NAME,             // 9
39        Contacts.HAS_PHONE_NUMBER,          // 10
40    };
41
42    public static final int COLUMN_ID = 0;
43    public static final int COLUMN_NAME = 1;
44    public static final int COLUMN_LOOKUP_KEY = 8;
45
46    public static CursorLoader newVisibleContactsLoader(Context context) {
47        return new CursorLoader(context, Contacts.CONTENT_URI, COLUMNS,
48                Contacts.IN_VISIBLE_GROUP + "=1", null, Contacts.SORT_KEY_PRIMARY);
49    }
50
51    public static CursorLoader newStrequentContactsLoader(Context context) {
52        return new CursorLoader(context, Contacts.CONTENT_STREQUENT_URI, COLUMNS, null, null, null);
53    }
54
55    public static CursorLoader newContactGroupLoader(Context context, String groupTitle) {
56        Uri uri = Uri.withAppendedPath(Contacts.CONTENT_GROUP_URI, groupTitle);
57        return new CursorLoader(context, uri, COLUMNS, null, null, Contacts.SORT_KEY_PRIMARY);
58    }
59}
60