diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-06-05 07:26:18 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-06-05 07:26:18 +0000 |
commit | a511e46b814c577833e0cd7e361fa01714c4b676 (patch) | |
tree | b6938731193cb50c5abbdd6606c1b9781d86dcb4 | |
parent | 29e62367813f740e967bcdd039b804f16eb1fe80 (diff) | |
parent | 8c892903f8eac55db45cdbf232ec7c2bc697ff48 (diff) | |
download | ContactsProvider-android-9.0.0_r57.tar.gz |
Snap for 4821244 from 8c892903f8eac55db45cdbf232ec7c2bc697ff48 to pi-releaseandroid-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r3android-9.0.0_r2android-9.0.0_r18android-9.0.0_r17android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-cts-release
Change-Id: Ib5920f8b5e1cbb9012b5cbb82c6cd6123da4ca37
-rw-r--r-- | src/com/android/providers/contacts/DbModifierWithNotification.java | 7 | ||||
-rw-r--r-- | tests/src/com/android/providers/contacts/VoicemailProviderTest.java | 24 |
2 files changed, 28 insertions, 3 deletions
diff --git a/src/com/android/providers/contacts/DbModifierWithNotification.java b/src/com/android/providers/contacts/DbModifierWithNotification.java index 05803391..852301d3 100644 --- a/src/com/android/providers/contacts/DbModifierWithNotification.java +++ b/src/com/android/providers/contacts/DbModifierWithNotification.java @@ -167,7 +167,8 @@ public class DbModifierWithNotification implements DatabaseModifier { Set<String> packagesModified = getModifiedPackages(whereClause, whereArgs); packagesModified.addAll(getModifiedPackages(values)); - boolean isVoicemail = packagesModified.size() != 0 && isUpdatingVoicemailColumns(values); + boolean isVoicemailContent = + packagesModified.size() != 0 && isUpdatingVoicemailColumns(values); boolean hasMarkedRead = false; if (mIsCallsTable) { @@ -177,7 +178,7 @@ public class DbModifierWithNotification implements DatabaseModifier { } else { updateLastModified(table, whereClause, whereArgs); } - if (isVoicemail) { + if (isVoicemailContent) { if (updateDirtyFlag(values, packagesModified)) { if (values.containsKey(Calls.IS_READ) && getAsBoolean(values, @@ -196,7 +197,7 @@ public class DbModifierWithNotification implements DatabaseModifier { return 0; } int count = mDb.update(table, values, whereClause, whereArgs); - if (count > 0 && isVoicemail) { + if (count > 0 && isVoicemailContent || Tables.VOICEMAIL_STATUS.equals(table)) { notifyVoicemailChange(mBaseUri, packagesModified); } if (count > 0 && mIsCallsTable) { diff --git a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java index 9f9ef002..d20b9b3c 100644 --- a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java +++ b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java @@ -21,8 +21,10 @@ import static org.mockito.Mockito.verify; import android.content.ContentUris; import android.content.ContentValues; +import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; +import android.os.Handler; import android.os.ParcelFileDescriptor; import android.os.Process; import android.provider.CallLog; @@ -739,6 +741,28 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest { assertStoredValues(uri, values); } + public void testStatusUpdate_observerNotified() throws Exception { + Uri uri = insertTestStatusEntry(); + ContentValues values = getTestStatusValues(); + values.put(Status.DATA_CHANNEL_STATE, Status.DATA_CHANNEL_STATE_NO_CONNECTION); + values.put(Status.NOTIFICATION_CHANNEL_STATE, + Status.NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING); + values.put(Status.SOURCE_TYPE, + "vvm_type_test2"); + Boolean[] observerTriggered = new Boolean[]{false}; + mResolver.registerContentObserver(Status.CONTENT_URI, true, + new ContentObserver(new Handler()) { + @Override + public void onChange(boolean selfChange, Uri uri) { + observerTriggered[0] = true; + } + }); + + mResolver.update(uri, values, null, null); + + assertTrue(observerTriggered[0]); + } + public void testStatusUpsert() throws Exception { ContentValues values = getTestStatusValues(); mResolver.insert(statusUri(), values); |