Merge "AudioService: conditional logging of hearing aid volume"
This commit is contained in:
@@ -1323,7 +1323,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||||||
break;
|
break;
|
||||||
case MSG_II_SET_HEARING_AID_VOLUME:
|
case MSG_II_SET_HEARING_AID_VOLUME:
|
||||||
synchronized (mDeviceStateLock) {
|
synchronized (mDeviceStateLock) {
|
||||||
mBtHelper.setHearingAidVolume(msg.arg1, msg.arg2);
|
mBtHelper.setHearingAidVolume(msg.arg1, msg.arg2,
|
||||||
|
mDeviceInventory.isHearingAidConnected());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MSG_II_SET_LE_AUDIO_OUT_VOLUME: {
|
case MSG_II_SET_LE_AUDIO_OUT_VOLUME: {
|
||||||
|
|||||||
@@ -1160,6 +1160,22 @@ public class AudioDeviceInventory {
|
|||||||
.record();
|
.record();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether a device of type DEVICE_OUT_HEARING_AID is connected.
|
||||||
|
* Visibility by APM plays no role
|
||||||
|
* @return true if a DEVICE_OUT_HEARING_AID is connected, false otherwise.
|
||||||
|
*/
|
||||||
|
boolean isHearingAidConnected() {
|
||||||
|
synchronized (mDevicesLock) {
|
||||||
|
for (DeviceInfo di : mConnectedDevices.values()) {
|
||||||
|
if (di.mDeviceType == AudioSystem.DEVICE_OUT_HEARING_AID) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@GuardedBy("mDevicesLock")
|
@GuardedBy("mDevicesLock")
|
||||||
private void makeLeAudioDeviceAvailable(String address, String name, int streamType,
|
private void makeLeAudioDeviceAvailable(String address, String name, int streamType,
|
||||||
int volumeIndex, int device, String eventSource) {
|
int volumeIndex, int device, String eventSource) {
|
||||||
|
|||||||
@@ -422,7 +422,8 @@ public class BtHelper {
|
|||||||
mLeAudio.setVolume(volume);
|
mLeAudio.setVolume(volume);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*package*/ synchronized void setHearingAidVolume(int index, int streamType) {
|
/*package*/ synchronized void setHearingAidVolume(int index, int streamType,
|
||||||
|
boolean isHeadAidConnected) {
|
||||||
if (mHearingAid == null) {
|
if (mHearingAid == null) {
|
||||||
if (AudioService.DEBUG_VOL) {
|
if (AudioService.DEBUG_VOL) {
|
||||||
Log.i(TAG, "setHearingAidVolume: null mHearingAid");
|
Log.i(TAG, "setHearingAidVolume: null mHearingAid");
|
||||||
@@ -439,8 +440,11 @@ public class BtHelper {
|
|||||||
Log.i(TAG, "setHearingAidVolume: calling mHearingAid.setVolume idx="
|
Log.i(TAG, "setHearingAidVolume: calling mHearingAid.setVolume idx="
|
||||||
+ index + " gain=" + gainDB);
|
+ index + " gain=" + gainDB);
|
||||||
}
|
}
|
||||||
AudioService.sVolumeLogger.log(new AudioServiceEvents.VolumeEvent(
|
// do not log when hearing aid is not connected to avoid confusion when reading dumpsys
|
||||||
AudioServiceEvents.VolumeEvent.VOL_SET_HEARING_AID_VOL, index, gainDB));
|
if (isHeadAidConnected) {
|
||||||
|
AudioService.sVolumeLogger.log(new AudioServiceEvents.VolumeEvent(
|
||||||
|
AudioServiceEvents.VolumeEvent.VOL_SET_HEARING_AID_VOL, index, gainDB));
|
||||||
|
}
|
||||||
mHearingAid.setVolume(gainDB);
|
mHearingAid.setVolume(gainDB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user