Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70cc54bd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Set Hearing Aid volume after connection" into pi-dev

parents 62931a44 09592d52
Loading
Loading
Loading
Loading
+18 −20
Original line number Diff line number Diff line
@@ -1649,16 +1649,7 @@ public class AudioService extends IAudioService.Stub

            // Check if volume update should be send to Hearing Aid
            if ((device & AudioSystem.DEVICE_OUT_HEARING_AID) != 0) {
                synchronized (mHearingAidLock) {
                    if (mHearingAid != null) {
                        //hearing aid expect volume value in range -128dB to 0dB
                        int gainDB = (int)AudioSystem.getStreamVolumeDB(streamType, newIndex/10,
                                AudioSystem.DEVICE_OUT_HEARING_AID);
                        if (gainDB < BT_HEARING_AID_GAIN_MIN)
                            gainDB = BT_HEARING_AID_GAIN_MIN;
                        mHearingAid.setVolume(gainDB);
                    }
                }
                setHearingAidVolume(newIndex);
            }

            // Check if volume update should be sent to Hdmi system audio.
@@ -1907,16 +1898,7 @@ public class AudioService extends IAudioService.Stub
            }

            if ((device & AudioSystem.DEVICE_OUT_HEARING_AID) != 0) {
                synchronized (mHearingAidLock) {
                    if (mHearingAid != null) {
                        //hearing aid expect volume value in range -128dB to 0dB
                        int gainDB = (int)AudioSystem.getStreamVolumeDB(streamType, index/10, AudioSystem.DEVICE_OUT_HEARING_AID);
                        if (gainDB < BT_HEARING_AID_GAIN_MIN)
                            gainDB = BT_HEARING_AID_GAIN_MIN;
                        mHearingAid.setVolume(gainDB);

                    }
                }
                setHearingAidVolume(index);
            }

            if (streamTypeAlias == AudioSystem.STREAM_MUSIC) {
@@ -5624,8 +5606,24 @@ public class AudioService extends IAudioService.Stub
                makeDeviceListKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, address));
    }

    private void setHearingAidVolume(int index) {
        synchronized (mHearingAidLock) {
            if (mHearingAid != null) {
                //hearing aid expect volume value in range -128dB to 0dB
                int gainDB = (int)AudioSystem.getStreamVolumeDB(AudioSystem.STREAM_MUSIC, index/10,
                        AudioSystem.DEVICE_OUT_HEARING_AID);
                if (gainDB < BT_HEARING_AID_GAIN_MIN)
                    gainDB = BT_HEARING_AID_GAIN_MIN;
                mHearingAid.setVolume(gainDB);
            }
        }
    }

    // must be called synchronized on mConnectedDevices
    private void makeHearingAidDeviceAvailable(String address, String name, String eventSource) {
        int index = mStreamStates[AudioSystem.STREAM_MUSIC].getIndex(AudioSystem.DEVICE_OUT_HEARING_AID);
        setHearingAidVolume(index);

        AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_HEARING_AID,
                AudioSystem.DEVICE_STATE_AVAILABLE, address, name);
        mConnectedDevices.put(