Element Call: Add audio output selector handled by Android (#4663)

- Add onUrlLoaded callback to WebViewWidgetMessageInterceptor
- Add WebViewAudioManager component and use it instead of the AudioManager extension functions
- Enable controlling the audio devices in Element Call from the OS instead of automatically detecting them
- Simplify the window flags in ElementCallActivity
- Work around the issue where the default audio device wasn't using the right audio stream
- Add onAudioPlaybackStarted, use it to start the audio-device related logic
This commit is contained in:
Jorge Martin Espinosa 2025-06-09 09:12:53 +02:00 committed by GitHub
parent a873e71879
commit c156fd58bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 489 additions and 122 deletions

View file

@ -49,7 +49,7 @@ class DefaultCallWidgetSettingsProvider @Inject constructor(
sentryEnvironment = if (buildMeta.buildType == BuildType.RELEASE) "RELEASE" else "DEBUG",
parentUrl = null,
hideHeader = true,
controlledMediaDevices = false,
controlledMediaDevices = true,
)
val rustWidgetSettings = newVirtualElementCallWidget(options)
return MatrixWidgetSettings.fromRustWidgetSettings(rustWidgetSettings)