blob: 496b51232b087d6844ceb8132c75f03c113ac245 [file] [log] [blame]
package com.android.providers.telephony;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import android.provider.Telephony;
public class RcsProviderCanonicalAddressHelper {
SQLiteOpenHelper mSQLiteOpenHelper;
RcsProviderCanonicalAddressHelper(SQLiteOpenHelper sqLiteOpenHelper) {
mSQLiteOpenHelper = sqLiteOpenHelper;
}
Cursor getOrCreateCanonicalAddress(String canonicalAddress) {
SQLiteDatabase db = mSQLiteOpenHelper.getReadableDatabase();
Cursor cursor = db.query(
MmsSmsProvider.TABLE_CANONICAL_ADDRESSES,
new String[]{BaseColumns._ID}, Telephony.CanonicalAddressesColumns.ADDRESS + "=?",
new String[]{canonicalAddress}, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
return cursor;
}
if (cursor != null) {
cursor.close();
}
return insertCanonicalAddress(canonicalAddress);
}
private Cursor insertCanonicalAddress(String canonicalAddress) {
ContentValues contentValues = new ContentValues();
contentValues.put(Telephony.CanonicalAddressesColumns.ADDRESS, canonicalAddress);
SQLiteDatabase db = mSQLiteOpenHelper.getWritableDatabase();
long id = db.insert(MmsSmsProvider.TABLE_CANONICAL_ADDRESSES, null, contentValues);
if (id == -1) {
return null;
}
MatrixCursor matrixCursor = new MatrixCursor(new String[]{BaseColumns._ID}, 1);
matrixCursor.addRow(new Object[]{id});
return matrixCursor;
}
}