Merge "CTS: skip VulkanPreTransformTest for devices not supporting rotation" into pie-cts-dev
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index 6bb100e..d034319 100755
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -3284,7 +3284,10 @@
<string name="disallow_share_location">Disallow share location</string>
<string name="disallow_share_location_action">Turning on location sharing</string>
<string name="disallow_uninstall_apps">Disallow uninstall apps</string>
- <string name="disallow_uninstall_apps_action">Uninstalling applications from the work profile (badged applications) other than CtsVerifier</string>
+ <string name="disallow_uninstall_apps_action">
+ a. If testing in work profile: uninstall applications from the work profile (badged applications) other than CtsVerifier and system apps. \n
+ b. Otherwise: uninstall applications other than CtsVerifier and system apps
+ </string>
<string name="disallow_unified_challenge">Disallow unified challenge</string>
<string name="disallow_unified_challenge_action">Setting one lock for both personal and work profiles. IMPORTANT: Separate work lock should be set prior to this test in Set work lock test</string>
<string name="disallow_keyguard_unredacted_notifications">Disallow lockscreen unredacted notification</string>
@@ -4016,6 +4019,10 @@
<string name="uapButtonsBtnDLbl">Button D - voice assist</string>
<string name="uapButtonsRecognized">Recognized</string>
<string name="uapButtonsNotRecognized">Not Recognized</string>
+ <string name="uapButtonsDisableAssistantTitle">Disable Google Assistant</string>
+ <string name="uapButtonsDisableAssistant">For this test to succeed it may be necessary
+ to disable the Google Assistant (Settings / Google / Search / Google Assistant Settings /
+ Devices / <device name> / Google Assistant)</string>
<!-- Audio general text -->
<string name="audio_general_headset_port_exists">Does this device have a headset port?</string>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java
index 7fdf403..140757d 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java
@@ -44,6 +44,8 @@
protected AudioDeviceInfo mOutputDevInfo;
protected AudioDeviceInfo mInputDevInfo;
+ protected final boolean mIsMandatedRequired;
+
// This will be overriden...
protected int mSystemSampleRate = 48000;
@@ -53,9 +55,12 @@
private TextView mPeripheralNameTx;
- public USBAudioPeripheralActivity() {
+ public USBAudioPeripheralActivity(boolean mandatedRequired) {
super();
+ // determine if to show "UNSUPPORTED" if the mandated peripheral is required.
+ mIsMandatedRequired = mandatedRequired;
+
mProfileManager.loadProfiles();
}
@@ -99,7 +104,7 @@
productName = mInputDevInfo.getProductName().toString();
}
String ctrlText;
- if (mSelectedProfile == null) {
+ if (mSelectedProfile == null && mIsMandatedRequired) {
ctrlText = productName + " - UNSUPPORTED";
} else {
ctrlText = productName;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralAttributesActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralAttributesActivity.java
index 07a99da..ef67708 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralAttributesActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralAttributesActivity.java
@@ -32,6 +32,10 @@
private TextView mTestStatusTx;
+ public USBAudioPeripheralAttributesActivity() {
+ super(true); // Mandated peripheral is required
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java
index 87b2149..de3ce7f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java
@@ -16,6 +16,8 @@
package com.android.cts.verifier.audio;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
@@ -45,6 +47,23 @@
private TextView mBtnBStatusTxt;
private TextView mBtnCStatusTxt;
+ public USBAudioPeripheralButtonsActivity() {
+ super(false); // Mandated peripheral is NOT required
+ }
+
+ private void showDisableAssistantDialog() {
+ AlertDialog.Builder builder =
+ new AlertDialog.Builder(this, android.R.style.Theme_Material_Dialog_Alert);
+ builder.setTitle(getResources().getString(R.string.uapButtonsDisableAssistantTitle));
+ builder.setMessage(getResources().getString(R.string.uapButtonsDisableAssistant));
+ builder.setPositiveButton(android.R.string.yes,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {}
+ });
+ builder.setIcon(android.R.drawable.ic_dialog_alert);
+ builder.show();
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -62,12 +81,12 @@
setPassFailButtonClickListeners();
setInfoResources(R.string.usbaudio_buttons_test, R.string.usbaudio_buttons_info, -1);
+
+ showDisableAssistantDialog();
}
private void showButtonsState() {
- int ctrlColor = mIsPeripheralAttached && mSelectedProfile != null
- ? Color.WHITE
- : Color.GRAY;
+ int ctrlColor = mIsPeripheralAttached ? Color.WHITE : Color.GRAY;
mBtnALabelTxt.setTextColor(ctrlColor);
mBtnAStatusTxt.setTextColor(ctrlColor);
mBtnBLabelTxt.setTextColor(ctrlColor);
@@ -81,23 +100,13 @@
mHasBtnB ? R.string.uapButtonsRecognized : R.string.uapButtonsNotRecognized));
mBtnCStatusTxt.setText(getString(
mHasBtnC ? R.string.uapButtonsRecognized : R.string.uapButtonsNotRecognized));
+
+ calculateMatch();
}
private void calculateMatch() {
- if (mIsPeripheralAttached && mSelectedProfile != null) {
- ProfileButtonAttributes mButtonAttributes = mSelectedProfile.getButtonAttributes();
- boolean match = mButtonAttributes != null;
- boolean interceptedVolume = getResources().getBoolean(Resources.getSystem()
- .getIdentifier("config_handleVolumeKeysInWindowManager", "bool", "android"));
- if (match && mButtonAttributes.mHasBtnA != mHasBtnA) {
- match = false;
- }
- if (match && mButtonAttributes.mHasBtnB != mHasBtnB && !interceptedVolume) {
- match = false;
- }
- if (match && mButtonAttributes.mHasBtnC != mHasBtnC && !interceptedVolume) {
- match = false;
- }
+ if (mIsPeripheralAttached) {
+ boolean match = mHasBtnA && mHasBtnB && mHasBtnC;
Log.i(TAG, "match:" + match);
getPassButton().setEnabled(match);
} else {
@@ -107,29 +116,27 @@
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
- Log.i(TAG, "onKeyDown(" + keyCode + ")");
- if (mSelectedProfile != null) {
- switch (keyCode) {
- // Function A control event
- case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
- mHasBtnA = true;
- break;
-
- // Function B control event
- case KeyEvent.KEYCODE_VOLUME_UP:
- mHasBtnB = true;
- break;
-
- // Function C control event
- case KeyEvent.KEYCODE_VOLUME_DOWN:
- mHasBtnC = true;
- break;
- }
-
- showButtonsState();
- calculateMatch();
+ // Log.i(TAG, "onKeyDown(" + keyCode + ")");
+ switch (keyCode) {
+ // Function A control event
+ case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
+ mHasBtnA = true;
+ break;
+
+ // Function B control event
+ case KeyEvent.KEYCODE_VOLUME_UP:
+ mHasBtnB = true;
+ break;
+
+ // Function C control event
+ case KeyEvent.KEYCODE_VOLUME_DOWN:
+ mHasBtnC = true;
+ break;
}
+ showButtonsState();
+ calculateMatch();
+
return super.onKeyDown(keyCode, event);
}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayActivity.java
index 640d489..de9016a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayActivity.java
@@ -31,6 +31,10 @@
private Button mPlayBtn;
private LocalClickListener mButtonClickListener = new LocalClickListener();
+ public USBAudioPeripheralPlayActivity() {
+ super(false); // Mandated peripheral is NOT required
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -52,8 +56,8 @@
// USBAudioPeripheralActivity
// Headset not publicly available, violates CTS Verifier additional equipment guidelines.
public void updateConnectStatus() {
- mPlayBtn.setEnabled(mIsPeripheralAttached && mSelectedProfile != null);
- getPassButton().setEnabled(mSelectedProfile != null && mOutputDevInfo != null);
+ mPlayBtn.setEnabled(mIsPeripheralAttached);
+ getPassButton().setEnabled(mIsPeripheralAttached);
}
public class LocalClickListener implements View.OnClickListener {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayerActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayerActivity.java
index 33417d1..fc666aa 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayerActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralPlayerActivity.java
@@ -41,6 +41,10 @@
private static final int WAVBUFF_SIZE_IN_SAMPLES = 2048;
+ public USBAudioPeripheralPlayerActivity(boolean requiresMandatePeripheral) {
+ super(requiresMandatePeripheral); // Mandated peripheral is NOT required
+ }
+
protected void setupPlayer() {
mSystemBufferSize =
StreamPlayer.calcNumBurstFrames((AudioManager)getSystemService(Context.AUDIO_SERVICE));
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
index 5772461..22a2678 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
@@ -49,6 +49,10 @@
private WaveScopeView mWaveView = null;
+ public USBAudioPeripheralRecordActivity() {
+ super(false); // Mandated peripheral is NOT required
+ }
+
private void connectWaveView() {
// Log.i(TAG, "connectWaveView() rec:" + (mRecorder != null));
if (mRecorder != null) {
@@ -136,9 +140,9 @@
// USBAudioPeripheralActivity
//
public void updateConnectStatus() {
- mRecordBtn.setEnabled(mIsPeripheralAttached && mSelectedProfile != null);
- mRecordLoopbackBtn.setEnabled(mIsPeripheralAttached && mSelectedProfile != null);
- getPassButton().setEnabled(mSelectedProfile != null && mOutputDevInfo != null);
+ mRecordBtn.setEnabled(mIsPeripheralAttached);
+ mRecordLoopbackBtn.setEnabled(mIsPeripheralAttached);
+ getPassButton().setEnabled(mIsPeripheralAttached);
}
public class LocalClickListener implements View.OnClickListener {
diff --git a/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
index 36db13a..ba8be5e 100755
--- a/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
@@ -176,9 +176,11 @@
// GIVEN a managed call
placeAndVerifyCall();
- verifyConnectionForOutgoingCall().setActive();
+ Connection outgoing = verifyConnectionForOutgoingCall();
+ outgoing.setActive();
assertTrue(connectionService.waitForEvent(
MockConnectionService.EVENT_CONNECTION_SERVICE_FOCUS_GAINED));
+ assertCallState(mInCallCallbacks.getService().getLastCall(), Call.STATE_ACTIVE);
// WHEN place another call has the same ConnectionService as the existing call
placeAndVerifyCall();