diff options
author | Debashish Chatterjee <debashishc@google.com> | 2011-07-27 04:42:00 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-27 04:42:00 -0700 |
commit | 51d1da962292ecef21abdf7e41abfdb7f1d72fcd (patch) | |
tree | 8fb7e0f5312e507b4d6541e0ad927cd70f7293d0 /src/com/android/providers/contacts/VoicemailContentTable.java | |
parent | 010b2f3d5287d2bbe66b28c9c47d6988d69f1ad6 (diff) | |
parent | 929a04e2830e30718930d96335dfb0a729b6ab91 (diff) | |
download | packages_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.java | 45 |
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); + } } |