summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-12-16 18:33:10 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-12-16 18:33:10 +0000
commitd86f42e66b7e1499acf346574dbb4842f0fc73d9 (patch)
tree38b6f439fb90934da4b807df7f2adf321deaa17a
parent63aa64398f45ffb6fdc25937e3ab6b6bc24085aa (diff)
parentc398583456e6d813fc2478cae58c9be0b9afd024 (diff)
downloadcts-android11-qpr1-c-release.tar.gz
Merge cherrypicks of [13237717, 13237455, 13237456, 13237585, 13237718, 13237719, 13237720, 13237725, 13238104, 13237746, 13237586, 13237478, 13237479, 13237691, 13238124, 13238105, 13237747, 13237748, 13237749, 13237750, 13237751, 13238125, 13237587, 13237726, 13238126, 13238127, 13237727, 13237728, 13237729, 13237721, 13237588, 13238106, 13238107, 13237722, 13237723, 13238144, 13238145, 13238146, 13238147, 13238148, 13237589, 13237590, 13237591, 13237692, 13237693, 13238128, 13238129, 13238149, 13238150, 13237592, 13237593, 13237594, 13237595, 13237730, 13237731, 13238151, 13236939, 13236940, 13238130, 13238131, 13236759, 13236761, 13237752, 13237753, 13237754, 13238132, 13238133, 13238134] into rvc-qpr1-c-releaseandroid-11.0.0_r30android11-qpr1-c-release
Change-Id: I97c981683f614f2ec141d2ede197ad0361ee1436
-rw-r--r--libs/install/src/com/android/cts/install/lib/TestApp.java2
-rw-r--r--tests/tests/contactsprovider/src/android/provider/cts/contacts/CallLogProviderTest.java75
2 files changed, 77 insertions, 0 deletions
diff --git a/libs/install/src/com/android/cts/install/lib/TestApp.java b/libs/install/src/com/android/cts/install/lib/TestApp.java
index cb775173096..9bf34cfceb6 100644
--- a/libs/install/src/com/android/cts/install/lib/TestApp.java
+++ b/libs/install/src/com/android/cts/install/lib/TestApp.java
@@ -47,6 +47,8 @@ public class TestApp {
"TestAppASplitV1.apk", "TestAppASplitV1_anydpi.apk");
public static final TestApp ASplit2 = new TestApp("ASplitV2", A, 2, /*isApex*/false,
"TestAppASplitV2.apk", "TestAppASplitV2_anydpi.apk");
+ public static final TestApp AIncompleteSplit = new TestApp("AIncompleteSplit", A, 1,
+ /*isApex*/false, "TestAppASplitV1_anydpi.apk");
public static final TestApp B1 = new TestApp("Bv1", B, 1, /*isApex*/false,
"TestAppBv1.apk");
diff --git a/tests/tests/contactsprovider/src/android/provider/cts/contacts/CallLogProviderTest.java b/tests/tests/contactsprovider/src/android/provider/cts/contacts/CallLogProviderTest.java
index 8f55aa0fe17..f91015ac78c 100644
--- a/tests/tests/contactsprovider/src/android/provider/cts/contacts/CallLogProviderTest.java
+++ b/tests/tests/contactsprovider/src/android/provider/cts/contacts/CallLogProviderTest.java
@@ -18,17 +18,25 @@ package android.provider.cts.contacts;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
+import android.content.ContentUris;
import android.content.ContentValues;
+import android.database.ContentObserver;
import android.database.Cursor;
+import android.net.Uri;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.test.InstrumentationTestCase;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
public class CallLogProviderTest extends InstrumentationTestCase {
private ContentResolver mContentResolver;
private ContentProviderClient mProvider;
private static final String TEST_NUMBER = "5551234";
+ private static final int TIME_OUT_MILLIS = 5000;
+
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -57,4 +65,71 @@ public class CallLogProviderTest extends InstrumentationTestCase {
// expected/tolerated
}
}
+
+ public void testUpdate() throws Exception {
+ // Add a single call just to make sure the call log has something inside
+ ContentValues values = new ContentValues();
+ values.put(CallLog.Calls.NUMBER, TEST_NUMBER);
+ values.put(CallLog.Calls.TYPE, Calls.OUTGOING_TYPE);
+ values.put(CallLog.Calls.DATE, Long.valueOf(0 /*start time*/));
+ values.put(CallLog.Calls.DURATION, Long.valueOf(5 /*call duration*/));
+ Uri uri = mContentResolver.insert(CallLog.Calls.CONTENT_URI, values);
+
+ CountDownLatch changeLatch = new CountDownLatch(1);
+ mContentResolver.registerContentObserver(
+ CallLog.Calls.CONTENT_URI, true,
+ new ContentObserver(null /* handler */) {
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ mContentResolver.unregisterContentObserver(this);
+ changeLatch.countDown();
+ super.onChange(selfChange);
+ }
+ });
+
+ // Update it!
+ values.put(CallLog.Calls.DURATION, Long.valueOf(6 /*call duration*/));
+ int numUpdated = mContentResolver.update(uri, values, null, null);
+ assertEquals(1, numUpdated);
+ try {
+ assertTrue(changeLatch.await(TIME_OUT_MILLIS, TimeUnit.MILLISECONDS));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ fail("Expected update notification.");
+ }
+ }
+
+ public void testDelete() throws Exception {
+ // Add a single call just to make sure the call log has something inside
+ ContentValues values = new ContentValues();
+ values.put(CallLog.Calls.NUMBER, TEST_NUMBER);
+ values.put(CallLog.Calls.TYPE, Calls.OUTGOING_TYPE);
+ values.put(CallLog.Calls.DATE, Long.valueOf(0 /*start time*/));
+ values.put(CallLog.Calls.DURATION, Long.valueOf(5 /*call duration*/));
+ Uri uri = mContentResolver.insert(CallLog.Calls.CONTENT_URI, values);
+
+ CountDownLatch changeLatch = new CountDownLatch(1);
+ mContentResolver.registerContentObserver(
+ CallLog.Calls.CONTENT_URI, true,
+ new ContentObserver(null /* handler */) {
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ mContentResolver.unregisterContentObserver(this);
+ changeLatch.countDown();
+ super.onChange(selfChange);
+ }
+ });
+
+ // Delete it.
+ // Yuck, you can't just delete using the uri passed in; you need to build a where clause.
+ int count = mContentResolver.delete(Calls.CONTENT_URI, Calls._ID + "="
+ + ContentUris.parseId(uri), null);
+ assertEquals(1, count);
+ try {
+ assertTrue(changeLatch.await(TIME_OUT_MILLIS, TimeUnit.MILLISECONDS));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ fail("Expected update notification.");
+ }
+ }
}