//========================================================================
//$Id: ContactMethod.java 395 2011-02-15 07:47:05Z janb.webtide $
//Copyright 2008 Mort Bay Consulting Pty. Ltd.
//------------------------------------------------------------------------
//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//http://www.apache.org/licenses/LICENSE-2.0
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
//========================================================================
package org.mortbay.ijetty.console;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.provider.Contacts;
public class ContactMethod
{
public static class ContactMethodsCollection extends DatabaseCollection
{
public ContactMethodsCollection(Cursor cursor)
{
super(cursor);
}
@Override
public ContentValues cursorToValues(Cursor cursor)
{
if (cursor == null)
{
return null;
}
ContentValues values = new ContentValues();
String val;
val = cursor.getString(cursor.getColumnIndex(android.provider.BaseColumns._ID));
values.put(android.provider.BaseColumns._ID,val);
val = cursor.getString(cursor.getColumnIndex(Contacts.ContactMethodsColumns.DATA));
values.put(Contacts.ContactMethodsColumns.DATA,val);
val = cursor.getString(cursor.getColumnIndex(Contacts.ContactMethodsColumns.AUX_DATA));
values.put(Contacts.ContactMethodsColumns.AUX_DATA,val);
val = cursor.getString(cursor.getColumnIndex(Contacts.ContactMethodsColumns.LABEL));
values.put(Contacts.ContactMethodsColumns.LABEL,val);
Integer intVal = new Integer(cursor.getInt(cursor.getColumnIndex(Contacts.ContactMethodsColumns.ISPRIMARY)));
values.put(Contacts.ContactMethodsColumns.ISPRIMARY,intVal);
intVal = new Integer(cursor.getString(cursor.getColumnIndex(Contacts.ContactMethodsColumns.KIND)));
values.put(Contacts.ContactMethodsColumns.KIND,intVal);
intVal = new Integer(cursor.getString(cursor.getColumnIndex(Contacts.ContactMethodsColumns.TYPE)));
values.put(Contacts.ContactMethodsColumns.TYPE,intVal);
return values;
}
}
static final String[] contactMethodsProjection = new String[]
{ android.provider.BaseColumns._ID, android.provider.Contacts.ContactMethodsColumns.DATA, android.provider.Contacts.ContactMethodsColumns.AUX_DATA,
android.provider.Contacts.ContactMethodsColumns.KIND, android.provider.Contacts.ContactMethodsColumns.LABEL,
android.provider.Contacts.ContactMethodsColumns.TYPE, android.provider.Contacts.ContactMethodsColumns.ISPRIMARY };
public static void addContactMethod(ContentResolver resolver, ContentValues contactMethod, String userId)
{
Uri peopleUri = Uri.withAppendedPath(Contacts.People.CONTENT_URI,userId);
resolver.insert(Uri.withAppendedPath(peopleUri,Contacts.People.ContactMethods.CONTENT_DIRECTORY),contactMethod);
}
public static void deleteContactMethod(ContentResolver resolver, String id, String userId)
{
resolver.delete(Uri.withAppendedPath(Contacts.ContactMethods.CONTENT_URI,id),null,null);
}
/**
* getContactMethods
*
* Get the ContactMethods for a Contact.
*
* @param resolver
* @param id
* @return
*/
public static ContactMethodsCollection getContactMethods(ContentResolver resolver, String userId)
{
if (userId == null)
{
return null;
}
String[] whereArgs = new String[]
{ userId };
StringBuilder where = new StringBuilder();
where.append(Contacts.ContactMethods.PERSON_ID);
where.append(" = ?");
return new ContactMethodsCollection(resolver.query(Contacts.ContactMethods.CONTENT_URI,contactMethodsProjection,where.toString(),whereArgs,
Contacts.ContactMethodsColumns.KIND + " DESC"));
}
public static void saveContactMethod(ContentResolver resolver, ContentValues contactMethod, String id, String userId)
{
Uri uri = Uri.withAppendedPath(Contacts.ContactMethods.CONTENT_URI,id);
resolver.update(uri,contactMethod,null,null);
}
}