summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/contacts/VoicemailContentTable.java
diff options
context:
space:
mode:
authorDebashish Chatterjee <debashishc@google.com>2011-07-27 04:42:00 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-07-27 04:42:00 -0700
commit51d1da962292ecef21abdf7e41abfdb7f1d72fcd (patch)
tree8fb7e0f5312e507b4d6541e0ad927cd70f7293d0 /src/com/android/providers/contacts/VoicemailContentTable.java
parent010b2f3d5287d2bbe66b28c9c47d6988d69f1ad6 (diff)
parent929a04e2830e30718930d96335dfb0a729b6ab91 (diff)
downloadpackages_providers_ContactsProvider-51d1da962292ecef21abdf7e41abfdb7f1d72fcd.zip
packages_providers_ContactsProvider-51d1da962292ecef21abdf7e41abfdb7f1d72fcd.tar.gz
packages_providers_ContactsProvider-51d1da962292ecef21abdf7e41abfdb7f1d72fcd.tar.bz2
Merge "Improvements in voicemail broadcast notifications."
Diffstat (limited to 'src/com/android/providers/contacts/VoicemailContentTable.java')
-rw-r--r--src/com/android/providers/contacts/VoicemailContentTable.java45
1 files changed, 9 insertions, 36 deletions
diff --git a/src/com/android/providers/contacts/VoicemailContentTable.java b/src/com/android/providers/contacts/VoicemailContentTable.java
index 19961c4..b9afbd7 100644
--- a/src/com/android/providers/contacts/VoicemailContentTable.java
+++ b/src/com/android/providers/contacts/VoicemailContentTable.java
@@ -25,7 +25,6 @@ import com.android.providers.contacts.util.CloseUtils;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
-import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@@ -33,7 +32,6 @@ import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.provider.CallLog.Calls;
-import android.provider.VoicemailContract;
import android.provider.VoicemailContract.Voicemails;
import android.util.Log;
@@ -81,26 +79,7 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
}
@Override
- public int bulkInsert(UriData uriData, ContentValues[] valuesArray) {
- int numInserted = 0;
- for (ContentValues values : valuesArray) {
- if (insertInternal(uriData, values, false) != null) {
- numInserted++;
- }
- }
- if (numInserted > 0) {
- mDelegateHelper.notifyChange(uriData.getUri(), Intent.ACTION_PROVIDER_CHANGED);
- }
- return numInserted;
- }
-
- @Override
public Uri insert(UriData uriData, ContentValues values) {
- return insertInternal(uriData, values, true);
- }
-
- private Uri insertInternal(UriData uriData, ContentValues values,
- boolean sendProviderChangedNotification) {
checkForSupportedColumns(sVoicemailProjectionMap, values);
ContentValues copiedValues = new ContentValues(values);
checkInsertSupported(uriData);
@@ -114,13 +93,9 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
copiedValues.put(Calls.TYPE, Calls.VOICEMAIL_TYPE);
SQLiteDatabase db = mDbHelper.getWritableDatabase();
- long rowId = db.insert(mTableName, null, copiedValues);
+ long rowId = getDatabaseModifier(db).insert(mTableName, null, copiedValues);
if (rowId > 0) {
Uri newUri = ContentUris.withAppendedId(uriData.getUri(), rowId);
- mDelegateHelper.notifyChange(newUri, VoicemailContract.ACTION_NEW_VOICEMAIL);
- if (sendProviderChangedNotification) {
- mDelegateHelper.notifyChange(newUri, Intent.ACTION_PROVIDER_CHANGED);
- }
// Populate the 'voicemail_uri' field to be used by the call_log provider.
updateVoicemailUri(db, newUri);
return newUri;
@@ -181,11 +156,8 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
}
// Now delete the rows themselves.
- int count = db.delete(mTableName, combinedClause, selectionArgs);
- if (count > 0) {
- mDelegateHelper.notifyChange(uriData.getUri(), Intent.ACTION_PROVIDER_CHANGED);
- }
- return count;
+ return getDatabaseModifier(db).delete(mTableName, combinedClause,
+ selectionArgs);
}
@Override
@@ -216,11 +188,8 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
// URI that include message Id. I think we do want to support bulk update.
String combinedClause = concatenateClauses(selection, uriData.getWhereClause(),
getCallTypeClause());
- int count = db.update(mTableName, values, combinedClause, selectionArgs);
- if (count > 0) {
- mDelegateHelper.notifyChange(uriData.getUri(), Intent.ACTION_PROVIDER_CHANGED);
- }
- return count;
+ return getDatabaseModifier(db).update(mTableName, values, combinedClause,
+ selectionArgs);
}
private void checkUpdateSupported(UriData uriData) {
@@ -277,4 +246,8 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
private String getCallTypeClause() {
return getEqualityClause(Calls.TYPE, String.valueOf(Calls.VOICEMAIL_TYPE));
}
+
+ private DatabaseModifier getDatabaseModifier(SQLiteDatabase db) {
+ return new DbModifierWithVmNotification(mTableName, db, mContext);
+ }
}