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/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 a189544..de3ce7f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralButtonsActivity.java
@@ -47,6 +47,10 @@
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);
@@ -82,9 +86,7 @@
}
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);
@@ -98,25 +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 (!interceptedVolume) {
- if (match && mButtonAttributes.mHasBtnB != mHasBtnB) {
- match = false;
- }
- if (match && mButtonAttributes.mHasBtnC != mHasBtnC) {
- match = false;
- }
- }
+ if (mIsPeripheralAttached) {
+ boolean match = mHasBtnA && mHasBtnB && mHasBtnC;
Log.i(TAG, "match:" + match);
getPassButton().setEnabled(match);
} else {
@@ -126,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 {