Queries.java revision 75f1f6994f77a6538c71df720aa2250fe71fed4b
175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor/* 275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * Copyright (C) 2012 The Android Open Source Project 375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * 475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * Licensed under the Apache License, Version 2.0 (the "License"); 575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * you may not use this file except in compliance with the License. 675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * You may obtain a copy of the License at 775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * 875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * http://www.apache.org/licenses/LICENSE-2.0 975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * 1075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * Unless required by applicable law or agreed to in writing, software 1175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * distributed under the License is distributed on an "AS IS" BASIS, 1275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * See the License for the specific language governing permissions and 1475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * limitations under the License. 1575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor */ 1675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 1775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorpackage com.android.ex.chips; 1875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 1975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorimport android.content.res.Resources; 2075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorimport android.net.Uri; 2175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorimport android.provider.ContactsContract.Contacts; 2275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorimport android.provider.ContactsContract.CommonDataKinds.Email; 2375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylorimport android.provider.ContactsContract.CommonDataKinds.Phone; 2475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 2575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor/** 2675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor * Phone and Email queries for supporting Chips UI. 2775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor */ 2875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor/* package */ class Queries { 2975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 3075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final Query PHONE = new Query(new String[] { 3175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Contacts.DISPLAY_NAME, // 0 3275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Phone.NUMBER, // 1 3375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Phone.TYPE, // 2 3475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Phone.LABEL, // 3 3575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Phone.CONTACT_ID, // 4 3675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Phone._ID, // 5 3775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Contacts.PHOTO_THUMBNAIL_URI // 6 3875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor }, Phone.CONTENT_FILTER_URI, Phone.CONTENT_URI) { 3975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 4075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor @Override 4175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public CharSequence getTypeLabel(Resources res, int type, CharSequence label) { 4275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor return Phone.getTypeLabel(res, type, label); 4375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 4475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 4575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor }; 4675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 4775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final Query EMAIL = new Query(new String[]{ 4875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Contacts.DISPLAY_NAME, // 0 4975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Email.DATA, // 1 5075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Email.TYPE, // 2 5175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Email.LABEL, // 3 5275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Email.CONTACT_ID, // 4 5375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Email._ID, // 5 5475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor Contacts.PHOTO_THUMBNAIL_URI // 6 5575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 5675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor }, Email.CONTENT_FILTER_URI, Email.CONTENT_URI) { 5775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 5875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor @Override 5975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public CharSequence getTypeLabel(Resources res, int type, CharSequence label) { 6075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor return Email.getTypeLabel(res, type, label); 6175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 6275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 6375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor }; 6475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 6575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor static abstract class Query { 6675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor private final String[] mProjection; 6775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor private final Uri mContentFilterUri; 6875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor private final Uri mContentUri; 6975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 7075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int NAME = 0; 7175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int DESTINATION = 1; 7275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int DESTINATION_TYPE = 2; 7375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int DESTINATION_LABEL = 3; 7475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int CONTACT_ID = 4; 7575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int DATA_ID = 5; 7675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public static final int PHOTO_THUMBNAIL_URI = 6; 7775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 7875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public Query (String[] projection, Uri contentFilter, Uri content) { 7975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor mProjection = projection; 8075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor mContentFilterUri = contentFilter; 8175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor mContentUri = content; 8275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 8375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 8475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public String[] getProjection() { 8575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor return mProjection; 8675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 8775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 8875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public Uri getContentFilterUri() { 8975f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor return mContentFilterUri; 9075f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 9175f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 9275f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public Uri getContentUri() { 9375f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor return mContentUri; 9475f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 9575f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor 9675f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor public abstract CharSequence getTypeLabel(Resources res, int type, CharSequence label); 9775f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor } 9875f1f6994f77a6538c71df720aa2250fe71fed4bTom Taylor} 99