Request audio focus fixes and improvements

Dependencies downgrade
This commit is contained in:
Juha Heinanen
2021-11-05 15:04:18 +02:00
parent fc52deed3e
commit 5d9eeb0ca1
2 changed files with 6 additions and 7 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ dependencies {
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation "androidx.preference:preference-ktx:1.1.1" implementation "androidx.preference:preference-ktx:1.1.1"
implementation "androidx.exifinterface:exifinterface:1.3.3" implementation "androidx.exifinterface:exifinterface:1.3.3"
implementation "androidx.core:core-ktx:1.7.0" implementation "androidx.core:core-ktx:1.6.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
} }
@@ -522,7 +522,7 @@ class BaresipService: Service() {
stopMediaPlayer() stopMediaPlayer()
if (am.mode != AudioManager.MODE_IN_COMMUNICATION) if (am.mode != AudioManager.MODE_IN_COMMUNICATION)
am.mode = AudioManager.MODE_IN_COMMUNICATION am.mode = AudioManager.MODE_IN_COMMUNICATION
requestAudioFocus(AudioAttributes.USAGE_VOICE_COMMUNICATION, requestAudioFocus(AudioManager.STREAM_VOICE_CALL,
AudioAttributes.CONTENT_TYPE_SPEECH) AudioAttributes.CONTENT_TYPE_SPEECH)
setCallVolume() setCallVolume()
proximitySensing(true) proximitySensing(true)
@@ -641,7 +641,7 @@ class BaresipService: Service() {
stopMediaPlayer() stopMediaPlayer()
if (am.mode != AudioManager.MODE_IN_COMMUNICATION) if (am.mode != AudioManager.MODE_IN_COMMUNICATION)
am.mode = AudioManager.MODE_IN_COMMUNICATION am.mode = AudioManager.MODE_IN_COMMUNICATION
requestAudioFocus(AudioAttributes.USAGE_VOICE_COMMUNICATION, requestAudioFocus(AudioManager.STREAM_VOICE_CALL,
AudioAttributes.CONTENT_TYPE_SPEECH) AudioAttributes.CONTENT_TYPE_SPEECH)
setCallVolume() setCallVolume()
proximitySensing(true) proximitySensing(true)
@@ -1047,7 +1047,7 @@ class BaresipService: Service() {
} }
if ((VERSION.SDK_INT >= 26) && (audioFocusRequest == null)) { if ((VERSION.SDK_INT >= 26) && (audioFocusRequest == null)) {
@TargetApi(26) @TargetApi(26)
audioFocusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE) audioFocusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)
.run { .run {
setAudioAttributes(AudioAttributes.Builder().run { setAudioAttributes(AudioAttributes.Builder().run {
setUsage(usage) setUsage(usage)
@@ -1071,7 +1071,7 @@ class BaresipService: Service() {
} }
} else { } else {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
if (am.requestAudioFocus(null, usage, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE) == if (am.requestAudioFocus(null, usage, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT) ==
AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
Log.d(TAG, "Audio focus granted for usage $usage") Log.d(TAG, "Audio focus granted for usage $usage")
audioFocusUsage = usage audioFocusUsage = usage
@@ -1121,8 +1121,7 @@ class BaresipService: Service() {
private fun startRinging() { private fun startRinging() {
am.mode = AudioManager.MODE_RINGTONE am.mode = AudioManager.MODE_RINGTONE
requestAudioFocus(AudioAttributes.USAGE_NOTIFICATION_RINGTONE, requestAudioFocus(AudioManager.STREAM_RING, AudioAttributes.CONTENT_TYPE_MUSIC)
AudioAttributes.CONTENT_TYPE_MUSIC)
if (VERSION.SDK_INT >= 28) { if (VERSION.SDK_INT >= 28) {
rt.isLooping = true rt.isLooping = true
rt.play() rt.play()