Only save/restore STREAM_VOICE_CALL volume
This commit is contained in:
@@ -52,7 +52,7 @@ class BaresipService: Service() {
|
|||||||
internal var rtTimer: Timer? = null
|
internal var rtTimer: Timer? = null
|
||||||
private var audioFocusRequest: AudioFocusRequest? = null
|
private var audioFocusRequest: AudioFocusRequest? = null
|
||||||
private var audioFocusUsage = -1
|
private var audioFocusUsage = -1
|
||||||
private var origVolumes = arrayOf(-1, -1, -1, -1)
|
private var origVolume = -1
|
||||||
private val btAdapter = BluetoothAdapter.getDefaultAdapter()
|
private val btAdapter = BluetoothAdapter.getDefaultAdapter()
|
||||||
internal var activeNetwork = ""
|
internal var activeNetwork = ""
|
||||||
|
|
||||||
@@ -1050,26 +1050,22 @@ class BaresipService: Service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setCallVolume() {
|
private fun setCallVolume() {
|
||||||
if ((callVolume != 0) && (origVolumes.contentEquals(arrayOf(-1, -1, -1, -1)))) {
|
if (callVolume != 0 && origVolume == -1) {
|
||||||
for (streamType in listOf(AudioManager.STREAM_VOICE_CALL, AudioManager.STREAM_RING)) {
|
val streamType = AudioManager.STREAM_VOICE_CALL
|
||||||
origVolumes[streamType] = am.getStreamVolume(streamType)
|
origVolume = am.getStreamVolume(streamType)
|
||||||
am.setStreamVolume(streamType,
|
am.setStreamVolume(streamType,
|
||||||
(callVolume * 0.1 * am.getStreamMaxVolume(streamType)).roundToInt(),
|
(callVolume * 0.1 * am.getStreamMaxVolume(streamType)).roundToInt(),
|
||||||
0)
|
0)
|
||||||
Log.d(TAG, "Orig/new call volume of stream type $streamType is " +
|
Log.d(TAG, "Orig/new call volume is $origVolume/${am.getStreamVolume(streamType)}")
|
||||||
"${origVolumes[streamType]}/${am.getStreamVolume(streamType)}")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun resetCallVolume() {
|
private fun resetCallVolume() {
|
||||||
for (streamType in listOf(AudioManager.STREAM_VOICE_CALL, AudioManager.STREAM_RING)) {
|
if (origVolume != -1) {
|
||||||
if (origVolumes[streamType] != -1) {
|
val streamType = AudioManager.STREAM_VOICE_CALL
|
||||||
am.setStreamVolume(streamType, origVolumes[streamType], 0)
|
am.setStreamVolume(streamType, origVolume, 0)
|
||||||
Log.d(TAG, "Reset volume of stream type $streamType to " +
|
Log.d(TAG, "Reset volume to ${am.getStreamVolume(streamType)}")
|
||||||
"${am.getStreamVolume(streamType)}")
|
origVolume = -1
|
||||||
origVolumes[streamType] = -1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user