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

Commit fa9ac3f8 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Bluetooth: Validate SCO device."

parents 69a644f7 5711ed9c
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -1458,7 +1458,9 @@ final class HeadsetStateMachine extends StateMachine {
                    processLocalVrEvent(HeadsetHalConstants.VR_STATE_STOPPED);
                    break;
                case INTENT_SCO_VOLUME_CHANGED:
                    if (mActiveScoDevice != null) {
                        processIntentScoVolume((Intent) message.obj, mActiveScoDevice);
                    }
                    break;
                case CALL_STATE_CHANGED:
                    processCallState((HeadsetCallState) message.obj, ((message.arg1 == 1)?true:false));
@@ -1839,6 +1841,11 @@ final class HeadsetStateMachine extends StateMachine {
                        processLocalVrEvent(HeadsetHalConstants.VR_STATE_STOPPED);
                    }
                    break;
                case INTENT_SCO_VOLUME_CHANGED:
                    if (mActiveScoDevice != null) {
                        processIntentScoVolume((Intent) message.obj, mActiveScoDevice);
                    }
                    break;
                case INTENT_BATTERY_CHANGED:
                    processIntentBatteryChanged((Intent) message.obj);
                    break;
@@ -2250,6 +2257,16 @@ final class HeadsetStateMachine extends StateMachine {
                Log.e(TAG, "Handsfree phone proxy null for query phone state");
            }
        }

        private void processIntentScoVolume(Intent intent, BluetoothDevice device) {
            int volumeValue = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 0);
            if (mPhoneState.getSpeakerVolume() != volumeValue) {
                mPhoneState.setSpeakerVolume(volumeValue);
                setVolumeNative(HeadsetHalConstants.VOLUME_TYPE_SPK,
                                    volumeValue, getByteAddress(device));
            }
        }

        private void processMultiHFDisconnect(BluetoothDevice device) {
            log("MultiHFPending state: processMultiHFDisconnect");
            if (mActiveScoDevice != null && mActiveScoDevice.equals(device)) {