1ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan/* 2ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * Copyright (C) 2011 The Android Open Source Project 3ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * 4ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * Licensed under the Apache License, Version 2.0 (the "License"); 5ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * you may not use this file except in compliance with the License. 6ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * You may obtain a copy of the License at 7ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * 8ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * http://www.apache.org/licenses/LICENSE-2.0 9ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * 10ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * Unless required by applicable law or agreed to in writing, software 11ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * distributed under the License is distributed on an "AS IS" BASIS, 12ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * See the License for the specific language governing permissions and 14ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan * limitations under the License 15ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan */ 16ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuanpackage com.android.contacts; 17ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan 18ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuanimport android.content.Context; 19ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuanimport android.content.CursorLoader; 201866a071adb9a64112524b2f4836766f7e655123Katherine Kuanimport android.net.Uri; 21ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuanimport android.provider.ContactsContract.Groups; 22ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan 23ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan/** 241866a071adb9a64112524b2f4836766f7e655123Katherine Kuan * Group loader for the group list that includes details such as the number of contacts per group 251866a071adb9a64112524b2f4836766f7e655123Katherine Kuan * and number of groups per account. This list is sorted by account type, account name, where the 261866a071adb9a64112524b2f4836766f7e655123Katherine Kuan * group names are in alphabetical order. Note that the list excludes default, favorite, and deleted 271866a071adb9a64112524b2f4836766f7e655123Katherine Kuan * groups. 28ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan */ 29ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuanpublic final class GroupListLoader extends CursorLoader { 30ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan 31ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan private final static String[] COLUMNS = new String[] { 32ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups.ACCOUNT_NAME, 33ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups.ACCOUNT_TYPE, 342b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbcDave Santoro Groups.DATA_SET, 35ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups._ID, 36ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups.TITLE, 37ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups.SUMMARY_COUNT, 38ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan }; 39ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan 40ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan public final static int ACCOUNT_NAME = 0; 41ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan public final static int ACCOUNT_TYPE = 1; 422b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbcDave Santoro public final static int DATA_SET = 2; 432b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbcDave Santoro public final static int GROUP_ID = 3; 442b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbcDave Santoro public final static int TITLE = 4; 45d78ee90c0d4d93b82ad440396e87ae4f47f53e93Daniel Lehmann public final static int MEMBER_COUNT = 5; 461866a071adb9a64112524b2f4836766f7e655123Katherine Kuan 4708c87460331cbab92e94d96b704bd8f713a65202Daisuke Miyakawa private static final Uri GROUP_LIST_URI = Groups.CONTENT_SUMMARY_URI; 48ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan 49ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan public GroupListLoader(Context context) { 501866a071adb9a64112524b2f4836766f7e655123Katherine Kuan super(context, GROUP_LIST_URI, COLUMNS, Groups.ACCOUNT_TYPE + " NOT NULL AND " 51ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan + Groups.ACCOUNT_NAME + " NOT NULL AND " + Groups.AUTO_ADD + "=0 AND " + 52ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan Groups.FAVORITES + "=0 AND " + Groups.DELETED + "=0", null, 532b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbcDave Santoro Groups.ACCOUNT_TYPE + ", " + Groups.ACCOUNT_NAME + ", " + Groups.DATA_SET + ", " + 541866a071adb9a64112524b2f4836766f7e655123Katherine Kuan Groups.TITLE + " COLLATE LOCALIZED ASC"); 55ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan } 56ea1c3a50874de0e1c34df7a3bd650fb64538f04dKatherine Kuan} 57