AudioDeviceInfo: add analog audio dock type
Introduce TYPE_DOCK_ANALOG. Fix mappings of TYPE_DOCK to map to a single device type, digital dock. Bug: 253118335 Test: atest android.media.audio.cts.AudioDeviceInfoTest Change-Id: I160875e74b29739a0232d6a7b833c3927433e067
This commit is contained in:
@@ -20259,6 +20259,7 @@ package android.media {
|
|||||||
field public static final int TYPE_BUILTIN_SPEAKER_SAFE = 24; // 0x18
|
field public static final int TYPE_BUILTIN_SPEAKER_SAFE = 24; // 0x18
|
||||||
field public static final int TYPE_BUS = 21; // 0x15
|
field public static final int TYPE_BUS = 21; // 0x15
|
||||||
field public static final int TYPE_DOCK = 13; // 0xd
|
field public static final int TYPE_DOCK = 13; // 0xd
|
||||||
|
field public static final int TYPE_DOCK_ANALOG = 31; // 0x1f
|
||||||
field public static final int TYPE_FM = 14; // 0xe
|
field public static final int TYPE_FM = 14; // 0xe
|
||||||
field public static final int TYPE_FM_TUNER = 16; // 0x10
|
field public static final int TYPE_FM_TUNER = 16; // 0x10
|
||||||
field public static final int TYPE_HDMI = 9; // 0x9
|
field public static final int TYPE_HDMI = 9; // 0x9
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ public final class AudioDeviceInfo {
|
|||||||
public static final int TYPE_USB_ACCESSORY = 12;
|
public static final int TYPE_USB_ACCESSORY = 12;
|
||||||
/**
|
/**
|
||||||
* A device type describing the audio device associated with a dock.
|
* A device type describing the audio device associated with a dock.
|
||||||
|
* @see #TYPE_DOCK_ANALOG
|
||||||
*/
|
*/
|
||||||
public static final int TYPE_DOCK = 13;
|
public static final int TYPE_DOCK = 13;
|
||||||
/**
|
/**
|
||||||
@@ -182,6 +183,11 @@ public final class AudioDeviceInfo {
|
|||||||
*/
|
*/
|
||||||
public static final int TYPE_BLE_BROADCAST = 30;
|
public static final int TYPE_BLE_BROADCAST = 30;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A device type describing the audio device associated with a dock using an analog connection.
|
||||||
|
*/
|
||||||
|
public static final int TYPE_DOCK_ANALOG = 31;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
@IntDef(flag = false, prefix = "TYPE", value = {
|
@IntDef(flag = false, prefix = "TYPE", value = {
|
||||||
TYPE_BUILTIN_EARPIECE,
|
TYPE_BUILTIN_EARPIECE,
|
||||||
@@ -213,7 +219,8 @@ public final class AudioDeviceInfo {
|
|||||||
TYPE_BLE_HEADSET,
|
TYPE_BLE_HEADSET,
|
||||||
TYPE_BLE_SPEAKER,
|
TYPE_BLE_SPEAKER,
|
||||||
TYPE_ECHO_REFERENCE,
|
TYPE_ECHO_REFERENCE,
|
||||||
TYPE_BLE_BROADCAST}
|
TYPE_BLE_BROADCAST,
|
||||||
|
TYPE_DOCK_ANALOG}
|
||||||
)
|
)
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface AudioDeviceType {}
|
public @interface AudioDeviceType {}
|
||||||
@@ -240,7 +247,8 @@ public final class AudioDeviceInfo {
|
|||||||
TYPE_BLE_HEADSET,
|
TYPE_BLE_HEADSET,
|
||||||
TYPE_HDMI_ARC,
|
TYPE_HDMI_ARC,
|
||||||
TYPE_HDMI_EARC,
|
TYPE_HDMI_EARC,
|
||||||
TYPE_ECHO_REFERENCE}
|
TYPE_ECHO_REFERENCE,
|
||||||
|
TYPE_DOCK_ANALOG}
|
||||||
)
|
)
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface AudioDeviceTypeIn {}
|
public @interface AudioDeviceTypeIn {}
|
||||||
@@ -271,7 +279,8 @@ public final class AudioDeviceInfo {
|
|||||||
TYPE_BUILTIN_SPEAKER_SAFE,
|
TYPE_BUILTIN_SPEAKER_SAFE,
|
||||||
TYPE_BLE_HEADSET,
|
TYPE_BLE_HEADSET,
|
||||||
TYPE_BLE_SPEAKER,
|
TYPE_BLE_SPEAKER,
|
||||||
TYPE_BLE_BROADCAST}
|
TYPE_BLE_BROADCAST,
|
||||||
|
TYPE_DOCK_ANALOG}
|
||||||
)
|
)
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface AudioDeviceTypeOut {}
|
public @interface AudioDeviceTypeOut {}
|
||||||
@@ -304,6 +313,7 @@ public final class AudioDeviceInfo {
|
|||||||
case TYPE_BLE_HEADSET:
|
case TYPE_BLE_HEADSET:
|
||||||
case TYPE_BLE_SPEAKER:
|
case TYPE_BLE_SPEAKER:
|
||||||
case TYPE_BLE_BROADCAST:
|
case TYPE_BLE_BROADCAST:
|
||||||
|
case TYPE_DOCK_ANALOG:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -334,6 +344,7 @@ public final class AudioDeviceInfo {
|
|||||||
case TYPE_HDMI_ARC:
|
case TYPE_HDMI_ARC:
|
||||||
case TYPE_HDMI_EARC:
|
case TYPE_HDMI_EARC:
|
||||||
case TYPE_ECHO_REFERENCE:
|
case TYPE_ECHO_REFERENCE:
|
||||||
|
case TYPE_DOCK_ANALOG:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -573,7 +584,7 @@ public final class AudioDeviceInfo {
|
|||||||
/**
|
/**
|
||||||
* @return The device type identifier of the audio device (i.e. TYPE_BUILTIN_SPEAKER).
|
* @return The device type identifier of the audio device (i.e. TYPE_BUILTIN_SPEAKER).
|
||||||
*/
|
*/
|
||||||
public int getType() {
|
public @AudioDeviceType int getType() {
|
||||||
return INT_TO_EXT_DEVICE_MAPPING.get(mPort.type(), TYPE_UNKNOWN);
|
return INT_TO_EXT_DEVICE_MAPPING.get(mPort.type(), TYPE_UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -624,7 +635,7 @@ public final class AudioDeviceInfo {
|
|||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, TYPE_BLUETOOTH_A2DP);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, TYPE_BLUETOOTH_A2DP);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, TYPE_BLUETOOTH_A2DP);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, TYPE_BLUETOOTH_A2DP);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, TYPE_HDMI);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, TYPE_HDMI);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, TYPE_DOCK);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, TYPE_DOCK_ANALOG);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, TYPE_DOCK);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, TYPE_DOCK);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, TYPE_USB_ACCESSORY);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, TYPE_USB_ACCESSORY);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, TYPE_USB_DEVICE);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, TYPE_USB_DEVICE);
|
||||||
@@ -652,7 +663,7 @@ public final class AudioDeviceInfo {
|
|||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, TYPE_HDMI);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, TYPE_HDMI);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, TYPE_TELEPHONY);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, TYPE_TELEPHONY);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, TYPE_BUILTIN_MIC);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, TYPE_BUILTIN_MIC);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, TYPE_DOCK);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, TYPE_DOCK_ANALOG);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, TYPE_DOCK);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, TYPE_DOCK);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, TYPE_USB_ACCESSORY);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, TYPE_USB_ACCESSORY);
|
||||||
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, TYPE_USB_DEVICE);
|
INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, TYPE_USB_DEVICE);
|
||||||
@@ -687,7 +698,8 @@ public final class AudioDeviceInfo {
|
|||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_HEADSET, AudioSystem.DEVICE_OUT_USB_HEADSET);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_HEADSET, AudioSystem.DEVICE_OUT_USB_HEADSET);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET);
|
||||||
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_DOCK_ANALOG, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM, AudioSystem.DEVICE_OUT_FM);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM, AudioSystem.DEVICE_OUT_FM);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX);
|
||||||
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE);
|
EXT_TO_INT_DEVICE_MAPPING.put(TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE);
|
||||||
@@ -710,7 +722,9 @@ public final class AudioDeviceInfo {
|
|||||||
TYPE_WIRED_HEADSET, AudioSystem.DEVICE_IN_WIRED_HEADSET);
|
TYPE_WIRED_HEADSET, AudioSystem.DEVICE_IN_WIRED_HEADSET);
|
||||||
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_HDMI, AudioSystem.DEVICE_IN_HDMI);
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_HDMI, AudioSystem.DEVICE_IN_HDMI);
|
||||||
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_IN_TELEPHONY_RX);
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_IN_TELEPHONY_RX);
|
||||||
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET);
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET);
|
||||||
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(
|
||||||
|
TYPE_DOCK_ANALOG, AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET);
|
||||||
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(
|
||||||
TYPE_USB_ACCESSORY, AudioSystem.DEVICE_IN_USB_ACCESSORY);
|
TYPE_USB_ACCESSORY, AudioSystem.DEVICE_IN_USB_ACCESSORY);
|
||||||
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_IN_USB_DEVICE);
|
EXT_TO_INT_INPUT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_IN_USB_DEVICE);
|
||||||
|
|||||||
Reference in New Issue
Block a user