Fix crash when using Element Call on API <= 30 (#4847)
This commit is contained in:
parent
91b925c3ee
commit
b1c33063b4
1 changed files with 19 additions and 15 deletions
|
|
@ -15,6 +15,7 @@ import android.os.Build
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import android.webkit.JavascriptInterface
|
import android.webkit.JavascriptInterface
|
||||||
import android.webkit.WebView
|
import android.webkit.WebView
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -66,7 +67,9 @@ class WebViewAudioManager(
|
||||||
/**
|
/**
|
||||||
* This listener tracks the current communication device and updates the WebView when it changes.
|
* This listener tracks the current communication device and updates the WebView when it changes.
|
||||||
*/
|
*/
|
||||||
private val commsDeviceChangedListener = AudioManager.OnCommunicationDeviceChangedListener { device ->
|
@get:RequiresApi(Build.VERSION_CODES.S)
|
||||||
|
private val commsDeviceChangedListener by lazy {
|
||||||
|
AudioManager.OnCommunicationDeviceChangedListener { device ->
|
||||||
if (device != null && device.id == expectedNewCommunicationDeviceId) {
|
if (device != null && device.id == expectedNewCommunicationDeviceId) {
|
||||||
expectedNewCommunicationDeviceId = null
|
expectedNewCommunicationDeviceId = null
|
||||||
Timber.d("Audio device changed, type: ${device.type}")
|
Timber.d("Audio device changed, type: ${device.type}")
|
||||||
|
|
@ -85,6 +88,7 @@ class WebViewAudioManager(
|
||||||
audioManager.selectAudioDevice(null)
|
audioManager.selectAudioDevice(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This callback is used to listen for audio device changes coming from the OS.
|
* This callback is used to listen for audio device changes coming from the OS.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue