aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTa-wei Yen <twyen@google.com>2018-01-09 17:01:56 -0800
committerTa-wei Yen <twyen@google.com>2018-01-10 13:06:37 -0800
commit0cd861f7a1a3c853152e92dc79282ac748712602 (patch)
treeeecdc3d8056850145a0716548f7a6bd9d2dcd6ac
parent824e243907916013705b42a8566c26bf3a55266f (diff)
downloadContactsProvider-0cd861f7a1a3c853152e92dc79282ac748712602.tar.gz
Allow Voicemails to be inserted as not new.
Inserting voicemails as new will cause dialer to send notifications to the user. For initial syncs this is undesirable. Previously the NEW column is only available to call log. Change-Id: Ib01720dcec841d2f17016eac4efab6e13e9b0d6c Fixes: 69482089 Test: CTS
-rw-r--r--src/com/android/providers/contacts/VoicemailContentTable.java2
-rw-r--r--tests/src/com/android/providers/contacts/VoicemailProviderTest.java45
2 files changed, 28 insertions, 19 deletions
diff --git a/src/com/android/providers/contacts/VoicemailContentTable.java b/src/com/android/providers/contacts/VoicemailContentTable.java
index b295ac54..1b39e7fb 100644
--- a/src/com/android/providers/contacts/VoicemailContentTable.java
+++ b/src/com/android/providers/contacts/VoicemailContentTable.java
@@ -63,6 +63,7 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
.add(Voicemails.NUMBER)
.add(Voicemails.DATE)
.add(Voicemails.DURATION)
+ .add(Voicemails.NEW)
.add(Voicemails.IS_READ)
.add(Voicemails.TRANSCRIPTION)
.add(Voicemails.TRANSCRIPTION_STATE)
@@ -104,6 +105,7 @@ public class VoicemailContentTable implements VoicemailTable.Delegate {
.add(Voicemails.NUMBER)
.add(Voicemails.DATE)
.add(Voicemails.DURATION)
+ .add(Voicemails.NEW)
.add(Voicemails.IS_READ)
.add(Voicemails.TRANSCRIPTION)
.add(Voicemails.TRANSCRIPTION_STATE)
diff --git a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
index 1bf0d847..52e2f09f 100644
--- a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
+++ b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
@@ -71,19 +71,20 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
/**
* Total number of columns exposed by voicemail provider.
*/
- private static final int NUM_VOICEMAIL_FIELDS = 24;
+ private static final int NUM_VOICEMAIL_FIELDS = 25;
@Override
protected void setUp() throws Exception {
super.setUp();
setUpForOwnPermission();
System.setProperty(SYSTEM_PROPERTY_DEXMAKER_DEXCACHE, getContext().getCacheDir().getPath());
- Thread.currentThread().setContextClassLoader(VoicemailContentProvider.class.getClassLoader());
+ Thread.currentThread()
+ .setContextClassLoader(VoicemailContentProvider.class.getClassLoader());
addProvider(CallLogProviderTestable.class, CallLog.AUTHORITY);
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception {
System.clearProperty(SYSTEM_PROPERTY_DEXMAKER_DEXCACHE);
DbModifierWithNotification.setVoicemailNotifierForTest(null);
}
@@ -118,14 +119,16 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
public void testInsertReadMessageIsNotNew() throws Exception {
ContentValues values = getTestReadVoicemailValues();
+ values.remove(Voicemails.NEW);
Uri uri = mResolver.insert(voicemailUri(), values);
String[] projection = {Voicemails.NUMBER, Voicemails.DATE, Voicemails.DURATION,
- Voicemails.TRANSCRIPTION, Voicemails.IS_READ, Voicemails.HAS_CONTENT,
+ Voicemails.TRANSCRIPTION, Voicemails.NEW, Voicemails.IS_READ,
+ Voicemails.HAS_CONTENT,
Voicemails.SOURCE_DATA, Voicemails.STATE,
Voicemails.BACKED_UP, Voicemails.RESTORED, Voicemails.ARCHIVED,
Voicemails.IS_OMTP_VOICEMAIL
};
- Cursor c = mResolver.query(uri, projection, Calls.NEW + "=0", null,
+ Cursor c = mResolver.query(uri, projection, Voicemails.NEW + "=0", null,
null);
try {
assertEquals("Record count", 1, c.getCount());
@@ -452,8 +455,9 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
private Uri withSourcePackageParam(Uri uri) {
return uri.buildUpon()
- .appendQueryParameter(VoicemailContract.PARAM_KEY_SOURCE_PACKAGE, mActor.packageName)
- .build();
+ .appendQueryParameter(VoicemailContract.PARAM_KEY_SOURCE_PACKAGE,
+ mActor.packageName)
+ .build();
}
public void testUriPermissions() {
@@ -516,7 +520,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
private void checkHasReadAccessToUri(final Uri uri) {
Cursor cursor = null;
try {
- cursor = mResolver.query(uri, null, null ,null, null);
+ cursor = mResolver.query(uri, null, null, null, null);
assertEquals(1, cursor.getCount());
try {
ParcelFileDescriptor fd = mResolver.openFileDescriptor(uri, "r");
@@ -628,11 +632,11 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
values.put(callLogColumn, "foo");
EvenMoreAsserts.assertThrows("Column: " + callLogColumn,
IllegalArgumentException.class, new Runnable() {
- @Override
- public void run() {
- mResolver.insert(voicemailUri(), values);
- }
- });
+ @Override
+ public void run() {
+ mResolver.insert(voicemailUri(), values);
+ }
+ });
}
}
@@ -659,11 +663,11 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
values.put(callLogColumn, "foo");
EvenMoreAsserts.assertThrows("Column: " + callLogColumn,
IllegalArgumentException.class, new Runnable() {
- @Override
- public void run() {
- mResolver.update(insertedUri, values, null, null);
- }
- });
+ @Override
+ public void run() {
+ mResolver.update(insertedUri, values, null, null);
+ }
+ });
}
}
@@ -827,7 +831,9 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
return mResolver.insert(voicemailUri(), getTestVoicemailValues());
}
- /** Inserts a voicemail record for the specified source package. */
+ /**
+ * Inserts a voicemail record for the specified source package.
+ */
private Uri insertVoicemailForSourcePackage(String sourcePackage) {
ContentValues values = getTestVoicemailValues();
values.put(Voicemails.SOURCE_PACKAGE, sourcePackage);
@@ -839,6 +845,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
values.put(Voicemails.NUMBER, "1-800-4664-411");
values.put(Voicemails.DATE, 1000);
values.put(Voicemails.DURATION, 30);
+ values.put(Voicemails.NEW, 0);
values.put(Voicemails.TRANSCRIPTION, "Testing 123");
values.put(Voicemails.IS_READ, 0);
values.put(Voicemails.HAS_CONTENT, 0);