Revert "Add support for USB audio docks."

Revert submission 16691170-usb_doc

Reason for revert: 216248574
Reverted Changes:
I090e86b2e:Add support for USB audio docks.
I461661dd4:audio policy: implement routing policy for USB doc...

Change-Id: Ie28b74de7b8654cd199c86d06697bb52f0fa8f3d
diff --git a/services/core/java/com/android/server/audio/AudioDeviceInventory.java b/services/core/java/com/android/server/audio/AudioDeviceInventory.java
index 2dd6bf5..0961fcb3 100644
--- a/services/core/java/com/android/server/audio/AudioDeviceInventory.java
+++ b/services/core/java/com/android/server/audio/AudioDeviceInventory.java
@@ -1360,9 +1360,6 @@
             case AudioSystem.DEVICE_OUT_USB_HEADSET:
                 connType = AudioRoutesInfo.MAIN_USB;
                 break;
-            case AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET:
-                connType = AudioRoutesInfo.MAIN_DOCK_SPEAKERS;
-                break;
         }
 
         synchronized (mCurAudioRoutes) {
diff --git a/services/usb/java/com/android/server/usb/UsbAlsaDevice.java b/services/usb/java/com/android/server/usb/UsbAlsaDevice.java
index 85b1de5..9d4db00 100644
--- a/services/usb/java/com/android/server/usb/UsbAlsaDevice.java
+++ b/services/usb/java/com/android/server/usb/UsbAlsaDevice.java
@@ -41,7 +41,6 @@
 
     private final boolean mIsInputHeadset;
     private final boolean mIsOutputHeadset;
-    private final boolean mIsDock;
 
     private boolean mSelected = false;
     private int mOutputState;
@@ -54,7 +53,7 @@
 
     public UsbAlsaDevice(IAudioService audioService, int card, int device, String deviceAddress,
             boolean hasOutput, boolean hasInput,
-            boolean isInputHeadset, boolean isOutputHeadset, boolean isDock) {
+            boolean isInputHeadset, boolean isOutputHeadset) {
         mAudioService = audioService;
         mCardNum = card;
         mDeviceNum = device;
@@ -63,32 +62,31 @@
         mHasInput = hasInput;
         mIsInputHeadset = isInputHeadset;
         mIsOutputHeadset = isOutputHeadset;
-        mIsDock = isDock;
     }
 
     /**
-     * @return the ALSA card number associated with this peripheral.
+     * @returns the ALSA card number associated with this peripheral.
      */
     public int getCardNum() {
         return mCardNum;
     }
 
     /**
-     * @return the ALSA device number associated with this peripheral.
+     * @returns the ALSA device number associated with this peripheral.
      */
     public int getDeviceNum() {
         return mDeviceNum;
     }
 
     /**
-     * @return the USB device device address associated with this peripheral.
+     * @returns the USB device device address associated with this peripheral.
      */
     public String getDeviceAddress() {
         return mDeviceAddress;
     }
 
     /**
-     * @return the ALSA card/device address string.
+     * @returns the ALSA card/device address string.
      */
     public String getAlsaCardDeviceString() {
         if (mCardNum < 0 || mDeviceNum < 0) {
@@ -100,42 +98,35 @@
     }
 
     /**
-     * @return true if the device supports output.
+     * @returns true if the device supports output.
      */
     public boolean hasOutput() {
         return mHasOutput;
     }
 
     /**
-     * @return true if the device supports input (recording).
+     * @returns true if the device supports input (recording).
      */
     public boolean hasInput() {
         return mHasInput;
     }
 
     /**
-     * @return true if the device is a headset for purposes of input.
+     * @returns true if the device is a headset for purposes of input.
      */
     public boolean isInputHeadset() {
         return mIsInputHeadset;
     }
 
     /**
-     * @return true if the device is a headset for purposes of output.
+     * @returns true if the device is a headset for purposes of output.
      */
     public boolean isOutputHeadset() {
         return mIsOutputHeadset;
     }
 
     /**
-     * @return true if the device is a USB dock.
-     */
-    public boolean isDock() {
-        return mIsDock;
-    }
-
-    /**
-     * @return true if input jack is detected or jack detection is not supported.
+     * @returns true if input jack is detected or jack detection is not supported.
      */
     private synchronized boolean isInputJackConnected() {
         if (mJackDetector == null) {
@@ -145,7 +136,7 @@
     }
 
     /**
-     * @return true if input jack is detected or jack detection is not supported.
+     * @returns true if input jack is detected or jack detection is not supported.
      */
     private synchronized boolean isOutputJackConnected() {
         if (mJackDetector == null) {
@@ -199,10 +190,9 @@
         try {
             // Output Device
             if (mHasOutput) {
-                int device = mIsDock ? AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET
-                        : (mIsOutputHeadset
-                            ? AudioSystem.DEVICE_OUT_USB_HEADSET
-                            : AudioSystem.DEVICE_OUT_USB_DEVICE);
+                int device = mIsOutputHeadset
+                        ? AudioSystem.DEVICE_OUT_USB_HEADSET
+                        : AudioSystem.DEVICE_OUT_USB_DEVICE;
                 if (DEBUG) {
                     Slog.d(TAG, "pre-call device:0x" + Integer.toHexString(device)
                             + " addr:" + alsaCardDeviceString
@@ -241,7 +231,7 @@
 
     /**
      * @Override
-     * @return a string representation of the object.
+     * @returns a string representation of the object.
      */
     public synchronized String toString() {
         return "UsbAlsaDevice: [card: " + mCardNum
@@ -283,7 +273,7 @@
 
     /**
      * @Override
-     * @return true if the objects are equivalent.
+     * @returns true if the objects are equivalent.
      */
     public boolean equals(Object obj) {
         if (!(obj instanceof UsbAlsaDevice)) {
@@ -295,13 +285,12 @@
                 && mHasOutput == other.mHasOutput
                 && mHasInput == other.mHasInput
                 && mIsInputHeadset == other.mIsInputHeadset
-                && mIsOutputHeadset == other.mIsOutputHeadset
-                && mIsDock == other.mIsDock);
+                && mIsOutputHeadset == other.mIsOutputHeadset);
     }
 
     /**
      * @Override
-     * @return a hash code generated from the object contents.
+     * @returns a hash code generated from the object contents.
      */
     public int hashCode() {
         final int prime = 31;
@@ -312,7 +301,6 @@
         result = prime * result + (mHasInput ? 0 : 1);
         result = prime * result + (mIsInputHeadset ? 0 : 1);
         result = prime * result + (mIsOutputHeadset ? 0 : 1);
-        result = prime * result + (mIsDock ? 0 : 1);
 
         return result;
     }
diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
index 22b110f..0aa62c5 100644
--- a/services/usb/java/com/android/server/usb/UsbAlsaManager.java
+++ b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
@@ -237,7 +237,6 @@
         if (hasInput || hasOutput) {
             boolean isInputHeadset = parser.isInputHeadset();
             boolean isOutputHeadset = parser.isOutputHeadset();
-            boolean isDock = parser.isDock();
 
             if (mAudioService == null) {
                 Slog.e(TAG, "no AudioService");
@@ -247,7 +246,7 @@
             UsbAlsaDevice alsaDevice =
                     new UsbAlsaDevice(mAudioService, cardRec.getCardNum(), 0 /*device*/,
                                       deviceAddress, hasOutput, hasInput,
-                                      isInputHeadset, isOutputHeadset, isDock);
+                                      isInputHeadset, isOutputHeadset);
             if (alsaDevice != null) {
                 alsaDevice.setDeviceNameAndDescription(
                           cardRec.getCardName(), cardRec.getCardDescription());
diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java
index 5befe52..f33001c 100644
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -155,7 +155,7 @@
                 pw.println("manfacturer:0x" + Integer.toHexString(deviceDescriptor.getVendorID())
                         + " product:" + Integer.toHexString(deviceDescriptor.getProductID()));
                 pw.println("isHeadset[in: " + parser.isInputHeadset()
-                        + " , out: " + parser.isOutputHeadset() + "], isDock: " + parser.isDock());
+                        + " , out: " + parser.isOutputHeadset() + "]");
             } else {
                 pw.println(formatTime() + " Disconnect " + mDeviceAddress);
             }
@@ -169,8 +169,9 @@
                 UsbDescriptorsTree descriptorTree = new UsbDescriptorsTree();
                 descriptorTree.parse(parser);
                 descriptorTree.report(new TextReportCanvas(parser, stringBuilder));
+
                 stringBuilder.append("isHeadset[in: " + parser.isInputHeadset()
-                        + " , out: " + parser.isOutputHeadset() + "], isDock: " + parser.isDock());
+                        + " , out: " + parser.isOutputHeadset() + "]");
                 pw.println(stringBuilder.toString());
             } else {
                 pw.println(formatTime() + " Disconnect " + mDeviceAddress);
@@ -187,8 +188,9 @@
                     descriptor.report(canvas);
                 }
                 pw.println(stringBuilder.toString());
+
                 pw.println("isHeadset[in: " + parser.isInputHeadset()
-                        + " , out: " + parser.isOutputHeadset() + "], isDock: " + parser.isDock());
+                        + " , out: " + parser.isOutputHeadset() + "]");
             } else {
                 pw.println(formatTime() + " Disconnect " + mDeviceAddress);
             }
diff --git a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
index 38ce6cb..7250a07 100644
--- a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
+++ b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
@@ -785,35 +785,4 @@
         return getOutputHeadsetProbability() >= OUT_HEADSET_TRIGGER;
     }
 
-    /**
-     * isDock() indicates if the connected USB output peripheral is a docking station with
-     * audio output.
-     * A valid audio dock must declare only one audio output control terminal of type
-     * TERMINAL_EXTERN_DIGITAL.
-     */
-    public boolean isDock() {
-        if (hasMIDIInterface() || hasHIDInterface()) {
-            return false;
-        }
-
-        ArrayList<UsbDescriptor> acDescriptors =
-                getACInterfaceDescriptors(UsbACInterface.ACI_OUTPUT_TERMINAL,
-                        UsbACInterface.AUDIO_AUDIOCONTROL);
-
-        if (acDescriptors.size() != 1) {
-            return false;
-        }
-
-        if (acDescriptors.get(0) instanceof UsbACTerminal) {
-            UsbACTerminal outDescr = (UsbACTerminal) acDescriptors.get(0);
-            if (outDescr.getTerminalType() == UsbTerminalTypes.TERMINAL_EXTERN_DIGITAL) {
-                return true;
-            }
-        } else {
-            Log.w(TAG, "Undefined Audio Output terminal l: " + acDescriptors.get(0).getLength()
-                    + " t:0x" + Integer.toHexString(acDescriptors.get(0).getType()));
-        }
-        return false;
-    }
-
 }