Merge "DO NOT MERGE Relaxing "Mandated" peripheral requirements for CTSV USB Audio test." into oreo-cts-dev
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java
index ce5a3d4..7682078 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java
@@ -19,6 +19,8 @@
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
+import com.android.compatibility.common.util.CddTest;
+
import android.app.AlertDialog;
import android.app.Dialog;
import android.nfc.NdefMessage;
@@ -35,6 +37,7 @@
/**
* Test activity that sends a particular NDEF Push message to another NFC device.
*/
+@CddTest(requirement="7.4.4/C-1-3")
public class LlcpVersionActivity extends PassFailButtons.Activity implements
NfcAdapter.CreateNdefMessageCallback {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushReceiverActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushReceiverActivity.java
index 0697be2..3644ccb 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushReceiverActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushReceiverActivity.java
@@ -20,6 +20,8 @@
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.tech.NfcUtils;
+import com.android.compatibility.common.util.CddTest;
+
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.PendingIntent;
@@ -34,6 +36,7 @@
/**
* Test activity that waits to receive a particular NDEF Push message from another NFC device.
*/
+@CddTest(requirement="7.4.4/C-1-4,C-1-5")
public class NdefPushReceiverActivity extends PassFailButtons.Activity {
private static final int NFC_NOT_ENABLED_DIALOG_ID = 1;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
index 2f77895..3e32ad6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
@@ -19,6 +19,8 @@
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
+import com.android.compatibility.common.util.CddTest;
+
import android.app.Dialog;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
@@ -33,6 +35,7 @@
/**
* Test activity that sends a particular NDEF Push message to another NFC device.
*/
+@CddTest(requirement="7.4.4/C-1-4,C-1-5,C-1-10")
public class NdefPushSenderActivity extends PassFailButtons.Activity implements
NfcAdapter.CreateNdefMessageCallback {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualNonPaymentEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualNonPaymentEmulatorActivity.java
index 0a9362a..877ae4a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualNonPaymentEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualNonPaymentEmulatorActivity.java
@@ -5,9 +5,12 @@
import android.content.Intent;
import android.os.Bundle;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+@CddTest(requirement="7.4.4/C-2-2")
public class DualNonPaymentEmulatorActivity extends BaseEmulatorActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualPaymentEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualPaymentEmulatorActivity.java
index c17fc2e..626a79f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualPaymentEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/DualPaymentEmulatorActivity.java
@@ -7,9 +7,12 @@
import android.nfc.cardemulation.CardEmulation;
import android.os.Bundle;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+@CddTest(requirement="7.4.4/C-2-2")
@TargetApi(19)
public class DualPaymentEmulatorActivity extends BaseEmulatorActivity {
final static int STATE_IDLE = 0;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ForegroundPaymentEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ForegroundPaymentEmulatorActivity.java
index 27cb061..325713c5 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ForegroundPaymentEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ForegroundPaymentEmulatorActivity.java
@@ -8,9 +8,12 @@
import android.os.Bundle;
import android.util.Log;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+@CddTest(requirement="7.4.4/C-2-2")
@TargetApi(19)
public class ForegroundPaymentEmulatorActivity extends BaseEmulatorActivity {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceEmulatorTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceEmulatorTestActivity.java
index b30bb73..aad5f27 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceEmulatorTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceEmulatorTestActivity.java
@@ -21,6 +21,8 @@
import com.android.cts.verifier.R;
import com.android.cts.verifier.TestListAdapter.TestListItem;
+import com.android.compatibility.common.util.CddTest;
+
import android.content.Intent;
import android.content.pm.PackageManager;
import android.nfc.NfcAdapter;
@@ -29,6 +31,7 @@
import android.os.Bundle;
/** Activity that lists all the NFC HCE emulator tests. */
+@CddTest(requirement="7.4.4/C-2-2")
public class HceEmulatorTestActivity extends PassFailButtons.TestListActivity {
@Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ProtocolParamsReaderActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ProtocolParamsReaderActivity.java
index d3504ff..b7072f5 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ProtocolParamsReaderActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/ProtocolParamsReaderActivity.java
@@ -9,11 +9,14 @@
import android.os.Bundle;
import android.widget.TextView;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
import java.io.IOException;
+@CddTest(requirement="7.4.4/C-2-2,C-2-2")
@TargetApi(19)
public class ProtocolParamsReaderActivity extends PassFailButtons.Activity implements ReaderCallback {
public static final String TAG = "ProtocolParamsReaderActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SingleNonPaymentEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SingleNonPaymentEmulatorActivity.java
index 694199b..988499f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SingleNonPaymentEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SingleNonPaymentEmulatorActivity.java
@@ -5,9 +5,12 @@
import android.content.Intent;
import android.os.Bundle;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+@CddTest(requirement="7.4.4/C-2-2")
public class SingleNonPaymentEmulatorActivity extends BaseEmulatorActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SinglePaymentEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SinglePaymentEmulatorActivity.java
index 0f1fba0..deab6a0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SinglePaymentEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/SinglePaymentEmulatorActivity.java
@@ -8,6 +8,9 @@
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+import com.android.compatibility.common.util.CddTest;
+
+@CddTest(requirement="7.4.4/C-2-2")
@TargetApi(19)
public class SinglePaymentEmulatorActivity extends BaseEmulatorActivity {
@Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/TapTestEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/TapTestEmulatorActivity.java
index 2eea89c..665fba24 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/TapTestEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/TapTestEmulatorActivity.java
@@ -7,9 +7,12 @@
import android.os.Bundle;
import android.widget.TextView;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.R;
import com.android.cts.verifier.nfc.NfcDialogs;
+@CddTest(requirement="7.4.4/C-2-2")
@TargetApi(19)
public class TapTestEmulatorActivity extends BaseEmulatorActivity {
TextView mTextView;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFEmulatorActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFEmulatorActivity.java
index 7118ae3..fc2bfc6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFEmulatorActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFEmulatorActivity.java
@@ -24,9 +24,12 @@
import android.nfc.cardemulation.NfcFCardEmulation;
import android.os.Bundle;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
+@CddTest(requirement="7.4.4/C-3-2")
public class HceFEmulatorActivity extends PassFailButtons.Activity{
static String ACTION_TEST_SUCCESS = "success";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFReaderActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFReaderActivity.java
index 9b0d669..351e79b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFReaderActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hcef/HceFReaderActivity.java
@@ -26,11 +26,14 @@
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
+import com.android.compatibility.common.util.CddTest;
+
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
import java.io.IOException;
+@CddTest(requirement="7.4.4/C-3-2")
@TargetApi(24)
public class HceFReaderActivity extends PassFailButtons.Activity implements ReaderCallback,
OnItemSelectedListener {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/tech/MifareUltralightTagTester.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/tech/MifareUltralightTagTester.java
index 038d276..818051f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/tech/MifareUltralightTagTester.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/tech/MifareUltralightTagTester.java
@@ -19,6 +19,8 @@
import android.nfc.Tag;
import android.nfc.tech.MifareUltralight;
+import com.android.compatibility.common.util.CddTest;
+
import java.io.IOException;
import java.util.Arrays;
import java.util.Random;
@@ -27,6 +29,7 @@
* {@link TagTester} for MIFARE Ultralight tags. It writes random bytes to the
* tag's first user page and verifies that it matches when scanned later.
*/
+@CddTest(requirement="7.4.4/C-4-1")
public class MifareUltralightTagTester implements TagTester {
private static final int USER_PAGE_OFFSET = 5;
diff --git a/tests/app/src/android/app/cts/ActionBarTest.java b/tests/app/src/android/app/cts/ActionBarTest.java
index 2cfc970..d6e41a0 100644
--- a/tests/app/src/android/app/cts/ActionBarTest.java
+++ b/tests/app/src/android/app/cts/ActionBarTest.java
@@ -23,6 +23,7 @@
import android.test.ActivityInstrumentationTestCase2;
import android.test.UiThreadTest;
import android.view.KeyEvent;
+import android.view.ViewConfiguration;
import android.view.Window;
import java.util.concurrent.TimeUnit;
@@ -86,7 +87,9 @@
}
public void testOptionsMenuKey() throws Exception {
- if (!mActivity.getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)) {
+ boolean hasPermanentMenuKey = ViewConfiguration.get(getActivity()).hasPermanentMenuKey();
+ if (!mActivity.getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)
+ || hasPermanentMenuKey) {
return;
}
final boolean menuIsVisible[] = {false};
@@ -94,17 +97,20 @@
isVisible -> menuIsVisible[0] = isVisible);
// Wait here for test activity to gain focus before sending keyevent.
// Visibility listener needs the action bar to be visible.
- assertTrue(mActivity.windowFocusSignal.await(1000, TimeUnit.MILLISECONDS));
getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
getInstrumentation().waitForIdleSync();
assertTrue(menuIsVisible[0]);
+ assertTrue(mActivity.windowFocusSignal.await(1000, TimeUnit.MILLISECONDS));
getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
getInstrumentation().waitForIdleSync();
+ assertTrue(mActivity.windowFocusSignal.await(1000, TimeUnit.MILLISECONDS));
assertFalse(menuIsVisible[0]);
}
public void testOpenOptionsMenu() {
- if (!mActivity.getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)) {
+ boolean hasPermanentMenuKey = ViewConfiguration.get(getActivity()).hasPermanentMenuKey();
+ if (!mActivity.getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)
+ || hasPermanentMenuKey) {
return;
}
final boolean menuIsVisible[] = {false};
diff --git a/tests/signature/DynamicConfig.xml b/tests/signature/DynamicConfig.xml
index 5f0fcac..0ba7dbd 100644
--- a/tests/signature/DynamicConfig.xml
+++ b/tests/signature/DynamicConfig.xml
@@ -19,6 +19,8 @@
Bug: 36977779 android.intent.action.MASTER_CLEAR
Bug: 38182465 android.intent.action.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED
Bug: 70315695 android.intent.action.HDMI_PLUGGED
+ Bug: 113551146 android.intent.action.ACTION_AIRPLANE_MODE_CHANGED
+ Will be removed after v17 of CS.apk is released.
-->
<dynamicConfig>
<entry key ="intent_whitelist">
@@ -26,5 +28,6 @@
<value>android.intent.action.QUICKBOOT_POWERON</value>
<value>android.intent.action.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED</value>
<value>android.intent.action.HDMI_PLUGGED</value>
+ <value>android.intent.action.ACTION_AIRPLANE_MODE_CHANGED</value>
</entry>
</dynamicConfig>
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_ContactsTest.java b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_ContactsTest.java
index 3c56aba..c5fdc1a 100644
--- a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_ContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_ContactsTest.java
@@ -206,8 +206,6 @@
final TestContact contact = rawContact.getContact().load();
contact.load();
- assertEquals(0L, contact.getLong(Contacts.TIMES_CONTACTED));
- assertEquals(0L, contact.getLong(Contacts.LAST_TIME_CONTACTED));
final long now = System.currentTimeMillis();
@@ -218,8 +216,6 @@
ContactUtil.update(mResolver, contact.getId(), values);
contact.load();
- assertEquals(3L, contact.getLong(Contacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, contact.getLong(Contacts.LAST_TIME_CONTACTED));
// This is also the same as markAsContacted().
values.clear();
@@ -227,8 +223,6 @@
ContactUtil.update(mResolver, contact.getId(), values);
contact.load();
- assertEquals(4L, contact.getLong(Contacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, contact.getLong(Contacts.LAST_TIME_CONTACTED));
values.clear();
values.put(Contacts.TIMES_CONTACTED, 10);
@@ -236,27 +230,17 @@
ContactUtil.update(mResolver, contact.getId(), values);
contact.load();
- assertEquals(10L, contact.getLong(Contacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, contact.getLong(Contacts.LAST_TIME_CONTACTED));
}
- /**
- * Make sure the rounded usage stats values are also what the callers would see in where
- * clauses.
- *
- * This tests both contacts and raw_contacts.
- */
public void testContactUpdateDelete_usageStats_visibilityInWhere() throws Exception {
final TestRawContact rawContact = mBuilder.newRawContact().insert().load();
final TestContact contact = rawContact.getContact().load();
- // To make things more predictable, inline markAsContacted here with a known timestamp.
final long now = (System.currentTimeMillis() / 86400 * 86400) + 86400 * 5 + 123;
ContentValues values = new ContentValues();
values.put(Contacts.LAST_TIME_CONTACTED, now);
- // This makes the internal TIMES_CONTACTED 35. But the visible value is still 30.
for (int i = 0; i < 35; i++) {
ContactUtil.update(mResolver, contact.getId(), values);
}
@@ -264,12 +248,6 @@
contact.load();
rawContact.load();
- assertEquals(now / 86400 * 86400, contact.getLong(Contacts.LAST_TIME_CONTACTED));
- assertEquals(30, contact.getLong(Contacts.TIMES_CONTACTED));
-
- assertEquals(now / 86400 * 86400, rawContact.getLong(Contacts.LAST_TIME_CONTACTED));
- assertEquals(30, rawContact.getLong(Contacts.TIMES_CONTACTED));
-
final ContentValues cv = new ContentValues();
cv.put(Contacts.STARRED, 1);
@@ -277,12 +255,7 @@
(Contacts.LAST_TIME_CONTACTED + "=P1 AND " + Contacts.TIMES_CONTACTED + "=P2")
.replaceAll("P1", String.valueOf(now / 86400 * 86400))
.replaceAll("P2", "30");
- assertEquals(1, mResolver.update(Contacts.CONTENT_URI, cv, where, null));
- assertEquals(1, mResolver.update(RawContacts.CONTENT_URI, cv, where, null));
- // Also delete. This will actually delete the row, so we can test it only for one of the
- // contact or the raw contact.
- assertEquals(1, mResolver.delete(RawContacts.CONTENT_URI, where, null));
rawContact.setAlreadyDeleted();
contact.setAlreadyDeleted();
}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_DataUsageTest.java b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_DataUsageTest.java
index d5ab172..befbeb8 100644
--- a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_DataUsageTest.java
+++ b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_DataUsageTest.java
@@ -93,28 +93,20 @@
long[] dataIds = setupRawContactDataItems(ids.mRawContactId);
- assertDataUsageEquals(dataIds, 0, 0, 0, 0);
-
updateMultipleAndAssertUpdateSuccess(new long[] {dataIds[1], dataIds[2]});
- assertDataUsageEquals(dataIds, 0, 1, 1, 0);
updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[1], dataIds[2]});
- assertDataUsageEquals(dataIds, 0, 2, 2, 0);
for (int i = 3; i <= 10; i++) {
updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[1]});
}
- assertDataUsageEquals(dataIds, 0, 10, 2, 0);
updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[0], dataIds[1]});
- assertDataUsageEquals(dataIds, 1, 10, 2, 0);
for (int i = 12; i <= 19; i++) {
updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[1]});
- assertDataUsageEquals(dataIds, 1, 10, 2, 0);
}
updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[1]});
- assertDataUsageEquals(dataIds, 1, 20, 2, 0);
deleteDataUsage();
RawContactUtil.delete(mResolver, ids.mRawContactId, true);
@@ -142,7 +134,6 @@
.appendQueryParameter(DataUsageFeedback.USAGE_TYPE,
DataUsageFeedback.USAGE_TYPE_CALL).build();
int result = mResolver.update(uri, new ContentValues(), null, null);
- assertTrue(result > 0);
}
/**
@@ -154,42 +145,6 @@
.appendQueryParameter(DataUsageFeedback.USAGE_TYPE,
DataUsageFeedback.USAGE_TYPE_CALL).build();
int result = mResolver.update(uri, new ContentValues(), null, null);
- assertTrue(result > 0);
-
- assertDataUsageEquals(dataId, assertValue);
- }
-
- /**
- * Assert that the given data ids have usage values in the respective order.
- */
- private void assertDataUsageEquals(long[] dataIds, int... expectedValues) {
- if (dataIds.length != expectedValues.length) {
- throw new IllegalArgumentException("dataIds and expectedValues must be the same size");
- }
-
- for (int i = 0; i < dataIds.length; i++) {
- assertDataUsageEquals(dataIds[i], expectedValues[i]);
- }
- }
-
- /**
- * Assert a single data item has a specific usage value.
- */
- private void assertDataUsageEquals(long dataId, int expectedValue) {
- // Query and assert value is expected.
- String[] projection = new String[]{ContactsContract.Data.TIMES_USED};
- String[] record = DataUtil.queryById(mResolver, dataId, projection);
- assertNotNull(record);
- long actual = 0;
- // Tread null as 0
- if (record[0] != null) {
- actual = Long.parseLong(record[0]);
- }
- assertEquals(expectedValue, actual);
-
- // Also make sure the rounded value is used in 'where' too.
- assertEquals("Query should match", 1, DataUtil.queryById(mResolver, dataId, projection,
- "ifnull(" + Data.TIMES_USED + ",0)=" + expectedValue, null).length);
}
private void deleteDataUsage() {
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_FrequentsStrequentsTest.java b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_FrequentsStrequentsTest.java
index 2231bd2..f06c859 100644
--- a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_FrequentsStrequentsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_FrequentsStrequentsTest.java
@@ -196,11 +196,6 @@
// Contact the third contact twice.
markDataAsUsed(mDataIds[2], 2);
-
- // The strequents uri should now return contact 2, 3, 1 in order due to ranking by
- // data usage.
- assertCursorStoredValuesWithContactsFilter(Contacts.CONTENT_STREQUENT_URI, ids,
- false, sContentValues[1], sContentValues[2], sContentValues[0]);
}
/**
@@ -220,13 +215,6 @@
// Contact the third contact twice, and mark it as used
markDataAsUsed(mDataIds[2], 2);
starContact(ids[2]);
-
- // The strequents uri should now return contact 3, 2, 1 in order. Contact 3 is ranked first
- // because it is starred, followed by contacts 2 and 1 due to their data usage ranking.
- // Note that contact 3 is only returned once (as a starred contact) even though it is also
- // a frequently contacted contact.
- assertCursorStoredValuesWithContactsFilter(Contacts.CONTENT_STREQUENT_URI, ids,
- false, sContentValues[2], sContentValues[1], sContentValues[0]);
}
/**
@@ -243,10 +231,6 @@
// Construct a uri that filters for the query string "ta".
Uri uri = Contacts.CONTENT_STREQUENT_FILTER_URI.buildUpon().appendEncodedPath("ta").build();
-
- // Only contact 1 and 2 should be returned (sorted in alphabetical order) due to the
- // filtered query.
- assertCursorStoredValuesWithContactsFilter(uri, ids, false, sContentValues[1], sContentValues[0]);
}
public void testStrequents_projection() throws Exception {
@@ -303,10 +287,6 @@
// Construct a uri for phone only favorites.
Uri uri = Contacts.CONTENT_STREQUENT_URI.buildUpon().
appendQueryParameter(ContactsContract.STREQUENT_PHONE_ONLY, "true").build();
-
- // Only the contacts with phone numbers are returned, in frequency ranking order.
- assertCursorStoredValuesWithContactsFilter(uri, mDataIds, false,
- sContentValues[2], sContentValues[0]);
}
public void testStrequents_phoneOnly_projection() throws Exception {
@@ -342,11 +322,6 @@
// Contact the third contact twice.
markDataAsUsed(mDataIds[2], 2);
-
- // The frequents uri should now return contact 2, 3, 1 in order due to ranking by
- // data usage.
- assertCursorStoredValuesWithContactsFilter(Contacts.CONTENT_FREQUENT_URI, ids,
- true /* inOrder */, sContentValues[1], sContentValues[2], sContentValues[0]);
}
public void testFrequent_projection() throws Exception {
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_RawContactsTest.java b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_RawContactsTest.java
index 7c971b3..d937005 100644
--- a/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_RawContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/contacts/ContactsContract_RawContactsTest.java
@@ -243,8 +243,6 @@
.insert();
rawContact.load();
- assertEquals(12340, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
}
{
@@ -255,8 +253,6 @@
.insert();
rawContact.load();
- assertEquals(5L, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals(0, rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
}
{
TestRawContact rawContact = mBuilder.newRawContact()
@@ -266,8 +262,6 @@
.insert();
rawContact.load();
- assertEquals(0L, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
}
}
@@ -283,24 +277,17 @@
.insert();
rawContact.load();
- assertEquals(12340L, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
values.clear();
values.put(RawContacts.TIMES_CONTACTED, 99999);
RawContactUtil.update(mResolver, rawContact.getId(), values);
rawContact.load();
- assertEquals(99990L, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals(now / 86400 * 86400, rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
values.clear();
values.put(RawContacts.LAST_TIME_CONTACTED, now + 86400);
RawContactUtil.update(mResolver, rawContact.getId(), values);
rawContact.load();
- assertEquals(99990L, rawContact.getLong(RawContacts.TIMES_CONTACTED));
- assertEquals((now / 86400 * 86400) + 86400,
- rawContact.getLong(RawContacts.LAST_TIME_CONTACTED));
}
}