diff --git a/services/core/java/com/android/server/audio/AudioDeviceInventory.java b/services/core/java/com/android/server/audio/AudioDeviceInventory.java index f5a529b4e7548..8a62c3404bf48 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceInventory.java +++ b/services/core/java/com/android/server/audio/AudioDeviceInventory.java @@ -1376,9 +1376,6 @@ public class AudioDeviceInventory { 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 85b1de5478e17..9d4db003a2978 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 @@ public final class UsbAlsaDevice { private final boolean mIsInputHeadset; private final boolean mIsOutputHeadset; - private final boolean mIsDock; private boolean mSelected = false; private int mOutputState; @@ -54,7 +53,7 @@ public final class UsbAlsaDevice { 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 @@ public final class UsbAlsaDevice { 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 @@ public final class UsbAlsaDevice { } /** - * @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 @@ public final class UsbAlsaDevice { } /** - * @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 @@ public final class UsbAlsaDevice { 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 @@ public final class UsbAlsaDevice { /** * @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 @@ public final class UsbAlsaDevice { /** * @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 @@ public final class UsbAlsaDevice { && 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 @@ public final class UsbAlsaDevice { 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 fd9b9952331a8..1c72eb8db708b 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 @@ public final class UsbAlsaManager { 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 @@ public final class UsbAlsaManager { 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 94cc826ffc438..9ac270f17fc49 100644 --- a/services/usb/java/com/android/server/usb/UsbHostManager.java +++ b/services/usb/java/com/android/server/usb/UsbHostManager.java @@ -165,7 +165,7 @@ public class UsbHostManager { 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); } @@ -179,8 +179,9 @@ public class UsbHostManager { 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); @@ -197,8 +198,9 @@ public class UsbHostManager { 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 6e68a9174cb53..3412a6f80cc7c 100644 --- a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java +++ b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java @@ -870,35 +870,4 @@ public final class UsbDescriptorParser { 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 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; - } - }