diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-16 00:14:44 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-16 00:14:44 +0000 |
commit | d4a86141c0219838897f4d3dee5690509fcadb2b (patch) | |
tree | 10aa02a9fb32e77f3a4e1b8f0b401150497ed860 | |
parent | bf2740796a43bc5fda683a0d7fb7d3d429274e23 (diff) | |
parent | 60d9cd7c88a73506c7df8a221c971f96f5fdfe16 (diff) | |
download | ContactsProvider-android11-qpr1-d-release.tar.gz |
Merge cherrypicks of [13232450, 13232453, 13232296, 13232297, 13232298, 13232944, 13232945, 13232946, 13232947, 13232948, 13232949, 13232950, 13232519, 13232351, 13232398, 13232352, 13232696, 13232697, 13232698] into rvc-qpr1-d-releaseandroid-11.0.0_r31android11-qpr1-d-release
Change-Id: Id4e64648efe1ab74a6fbc92341d01c0582f139fa
-rw-r--r-- | src/com/android/providers/contacts/CallLogProvider.java | 12 | ||||
-rw-r--r-- | src/com/android/providers/contacts/DbModifierWithNotification.java | 16 |
2 files changed, 18 insertions, 10 deletions
diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java index ebe111f1..7a610151 100644 --- a/src/com/android/providers/contacts/CallLogProvider.java +++ b/src/com/android/providers/contacts/CallLogProvider.java @@ -563,7 +563,11 @@ public class CallLogProvider extends ContentProvider { throw new UnsupportedOperationException("Cannot update URL: " + uri); } - return qb.update(db, values, selectionBuilder.build(), selectionArgs); + int rowsUpdated = qb.update(db, values, selectionBuilder.build(), selectionArgs); + if (rowsUpdated > 0) { + DbModifierWithNotification.notifyCallLogChange(getContext()); + } + return rowsUpdated; } private int deleteInternal(Uri uri, String selection, String[] selectionArgs) { @@ -596,7 +600,11 @@ public class CallLogProvider extends ContentProvider { case CALLS: // TODO: Special case - We may want to forward the delete request on user 0 to the // shadow provider too. - return qb.delete(db, selectionBuilder.build(), selectionArgs); + int deletedCount = qb.delete(db, selectionBuilder.build(), selectionArgs); + if (deletedCount > 0) { + DbModifierWithNotification.notifyCallLogChange(getContext()); + } + return deletedCount; default: throw new UnsupportedOperationException("Cannot delete that URL: " + uri); } diff --git a/src/com/android/providers/contacts/DbModifierWithNotification.java b/src/com/android/providers/contacts/DbModifierWithNotification.java index 852301d3..03ebd1f1 100644 --- a/src/com/android/providers/contacts/DbModifierWithNotification.java +++ b/src/com/android/providers/contacts/DbModifierWithNotification.java @@ -109,7 +109,7 @@ public class DbModifierWithNotification implements DatabaseModifier { packagesModified); } if (rowId > 0 && mIsCallsTable) { - notifyCallLogChange(); + notifyCallLogChange(mContext); } return rowId; } @@ -126,20 +126,20 @@ public class DbModifierWithNotification implements DatabaseModifier { ContentUris.withAppendedId(mBaseUri, rowId), packagesModified); } if (rowId > 0 && mIsCallsTable) { - notifyCallLogChange(); + notifyCallLogChange(mContext); } return rowId; } - private void notifyCallLogChange() { - mContext.getContentResolver().notifyChange(Calls.CONTENT_URI, null, false); + public static void notifyCallLogChange(Context context) { + context.getContentResolver().notifyChange(Calls.CONTENT_URI, null, false); Intent intent = new Intent("com.android.internal.action.CALL_LOG_CHANGE"); intent.setComponent(new ComponentName("com.android.calllogbackup", "com.android.calllogbackup.CallLogChangeReceiver")); - if (!mContext.getPackageManager().queryBroadcastReceivers(intent, 0).isEmpty()) { - mContext.sendBroadcast(intent); + if (!context.getPackageManager().queryBroadcastReceivers(intent, 0).isEmpty()) { + context.sendBroadcast(intent); } } @@ -201,7 +201,7 @@ public class DbModifierWithNotification implements DatabaseModifier { notifyVoicemailChange(mBaseUri, packagesModified); } if (count > 0 && mIsCallsTable) { - notifyCallLogChange(); + notifyCallLogChange(mContext); } if (hasMarkedRead) { // A "New" voicemail has been marked as read by the server. This voicemail is no longer @@ -283,7 +283,7 @@ public class DbModifierWithNotification implements DatabaseModifier { notifyVoicemailChange(mBaseUri, packagesModified); } if (count > 0 && mIsCallsTable) { - notifyCallLogChange(); + notifyCallLogChange(mContext); } return count; } |