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

Commit 87a264df authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

AudioService: device connection intent: never send null action

Change 145c9534 removed a test on the type of device for which
  a ACTION_HEADSET_PLUG intent is broadcast. As a result, for some
  devices (e.g. DEVICE_OUT_USB_DEVICE), there is a code path in
  AudioService.sendDeviceConnectionIntent() where the intent's
  action is not set, causing a WTF exception to be thrown for
  the broadcast.
The fix consists in always checking that the intent will be sent
  with a non-null action.

Test: connect a USB device recognized as DEVICE_OUT_USB_DEVICE
Bug: 64724117
Change-Id: Ib2a486d1fabbde58d6a8f8370d5803c694977ee1
parent a3c2cee0
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -5433,6 +5433,10 @@ public class AudioService extends IAudioService.Stub
            configureHdmiPlugIntent(intent, state);
        }

        if (intent.getAction() == null) {
            return;
        }

        intent.putExtra(CONNECT_INTENT_KEY_STATE, state);
        intent.putExtra(CONNECT_INTENT_KEY_ADDRESS, address);
        intent.putExtra(CONNECT_INTENT_KEY_PORT_NAME, deviceName);
@@ -5506,9 +5510,7 @@ public class AudioService extends IAudioService.Stub
                    }
                }
            }
            if (device != AudioSystem.DEVICE_IN_WIRED_HEADSET) {
            sendDeviceConnectionIntent(device, state, address, deviceName);
            }
            updateAudioRoutes(device, state);
        }
    }