Adding profile for "Skylab" headset.

Added recognition of new AudioDeviceInfo.TYPE_USB_HEADSET device type.
Cleaned up button handling in Record test.

Bug: 63168133

Test: CTS Verifier

Change-Id: I58b80363c66be672f000c663d98dc5724e4c5dea
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 21a70b9..0c69790 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralActivity.java
@@ -106,7 +106,8 @@
 
         // Any valid peripherals
         for(AudioDeviceInfo devInfo : devices) {
-            if (devInfo.getType() == AudioDeviceInfo.TYPE_USB_DEVICE) {
+            if (devInfo.getType() == AudioDeviceInfo.TYPE_USB_DEVICE ||
+                devInfo.getType() == AudioDeviceInfo.TYPE_USB_HEADSET) {
                 if (devInfo.isSink()) {
                     mOutputDevInfo = devInfo;
                 }
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 9a01b35..f05bc9e 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/USBAudioPeripheralRecordActivity.java
@@ -142,10 +142,10 @@
     public class LocalClickListener implements View.OnClickListener {
         @Override
         public void onClick(View view) {
-            switch (view.getId()) {
+            int id = view.getId();
+            switch (id) {
             case R.id.uap_recordRecordBtn:
-                Log.i(TAG, "Record Button Pressed");
-                if (!isPlaying()) {
+                if (!isRecording()) {
                     if (startRecording(false)) {
                         mRecordBtn.setText(getString(R.string.audio_uap_record_stopBtn));
                         mRecordLoopbackBtn.setEnabled(false);
@@ -158,12 +158,15 @@
                 break;
 
             case R.id.uap_recordRecordLoopBtn:
-                Log.i(TAG, "Record Loopback Button Pressed");
-                if (!isPlaying()) {
-                    startRecording(true);
-                    mRecordLoopbackBtn.setText(getString(R.string.audio_uap_record_stopBtn));
-                    mRecordBtn.setEnabled(false);
+                if (!isRecording()) {
+                    if (startRecording(true)) {
+                        mRecordLoopbackBtn.setText(getString(R.string.audio_uap_record_stopBtn));
+                        mRecordBtn.setEnabled(false);
+                    }
                 } else {
+                    if (isPlaying()) {
+                        stopPlay();
+                    }
                     stopRecording();
                     mRecordLoopbackBtn.setText(
                         getString(R.string.audio_uap_record_recordLoopbackBtn));
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/peripheralprofile/ProfileManager.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/peripheralprofile/ProfileManager.java
index 035dc3f..22452ec 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/peripheralprofile/ProfileManager.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/peripheralprofile/ProfileManager.java
@@ -60,6 +60,11 @@
               "<OutputDevInfo ChanCounts=\"2\" ChanPosMasks=\"12\" ChanIndexMasks=\"3\" Encodings=\"4\" SampleRates=\"44100,48000\" />" +
               "<InputDevInfo ChanCounts=\"2\" ChanPosMasks=\"12\" ChanIndexMasks=\"3\" Encodings=\"4\" SampleRates=\"44100,48000\" />" +
             "</PeripheralProfile>" +
+            "<PeripheralProfile ProfileName=\"gen1-headset\" ProfileDescription=\"Google Generation 1 USB Headset\" ProductName=\"USB-Audio - Skylab\">" +
+            "<OutputDevInfo ChanCounts=\"2\" ChanPosMasks=\"12\" ChanIndexMasks=\"3\" Encodings=\"2,4\" SampleRates=\"8000,16000,32000,44100,48000\" />" +
+            "<InputDevInfo ChanCounts=\"1,2\" ChanPosMasks=\"12,16\" ChanIndexMasks=\"1\" Encodings=\"2\" SampleRates=\"8000,16000,32000,44100,48000\" />" +
+            "<ButtonInfo HasBtnA=\"1\" HasBtnB=\"1\" HasBtnC=\"1\" HasBtnD=\"1\" />" +
+          "</PeripheralProfile>" +
           "</ProfileList>";
 
     // XML Tags and Attributes