Merge "Fix USB power regression when connecting USB headset during phone/voip call." into udc-dev

This commit is contained in:
TreeHugger Robot
2023-06-26 18:05:51 +00:00
committed by Android (Google) Code Review

View File

@@ -59,6 +59,8 @@ public final class UsbAlsaDevice {
private String mDeviceName = ""; private String mDeviceName = "";
private String mDeviceDescription = ""; private String mDeviceDescription = "";
private boolean mHasJackDetect = true;
public UsbAlsaDevice(IAudioService audioService, int card, int device, String deviceAddress, public UsbAlsaDevice(IAudioService audioService, int card, int device, String deviceAddress,
boolean hasOutput, boolean hasInput, boolean hasOutput, boolean hasInput,
boolean isInputHeadset, boolean isOutputHeadset, boolean isDock) { boolean isInputHeadset, boolean isOutputHeadset, boolean isDock) {
@@ -168,8 +170,14 @@ public final class UsbAlsaDevice {
if (mJackDetector != null) { if (mJackDetector != null) {
return; return;
} }
if (!mHasJackDetect) {
return;
}
// If no jack detect capabilities exist, mJackDetector will be null. // If no jack detect capabilities exist, mJackDetector will be null.
mJackDetector = UsbAlsaJackDetector.startJackDetect(this); mJackDetector = UsbAlsaJackDetector.startJackDetect(this);
if (mJackDetector == null) {
mHasJackDetect = false;
}
} }
/** Stops a jack-detection thread. */ /** Stops a jack-detection thread. */
@@ -182,8 +190,8 @@ public final class UsbAlsaDevice {
/** Start using this device as the selected USB Audio Device. */ /** Start using this device as the selected USB Audio Device. */
public synchronized void start() { public synchronized void start() {
startInput();
startOutput(); startOutput();
startInput();
} }
/** Start using this device as the selected USB input device. */ /** Start using this device as the selected USB input device. */
@@ -208,8 +216,8 @@ public final class UsbAlsaDevice {
/** Stop using this device as the selected USB Audio Device. */ /** Stop using this device as the selected USB Audio Device. */
public synchronized void stop() { public synchronized void stop() {
stopInput();
stopOutput(); stopOutput();
stopInput();
} }
/** Stop using this device as the selected USB input device. */ /** Stop using this device as the selected USB input device. */