diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-05 22:03:59 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-05 22:03:59 +0000 |
commit | b4e4a8bccd0bbfdb713df318788702a18dfc489a (patch) | |
tree | edc2995dd9774f5ceaf7e4f5881db590dfad1701 | |
parent | 207de57b6f48fe11dd530cc8fa044dd800a64d2f (diff) | |
parent | 4c94266286279d545f3a770bad8a641d46164ee4 (diff) | |
download | ContactsProvider-b4e4a8bccd0bbfdb713df318788702a18dfc489a.tar.gz |
Snap for 7014159 from 4c94266286279d545f3a770bad8a641d46164ee4 to rvc-qpr2-release
Change-Id: If32d31f2385bbb8cb06a12a76f989800614c1c84
-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; } |