Added Ringtone setting

This commit is contained in:
Juha Heinanen
2025-04-22 17:24:16 +03:00
parent 4c3862337f
commit ccb9bb9fc8
5 changed files with 87 additions and 15 deletions
@@ -65,6 +65,7 @@ import androidx.compose.runtime.setValue
import androidx.core.app.ActivityCompat
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.lifecycle.MutableLiveData
import androidx.media.AudioAttributesCompat
import androidx.media.AudioFocusRequestCompat
@@ -83,7 +84,6 @@ class BaresipService: Service() {
internal lateinit var intent: Intent
private lateinit var am: AudioManager
private lateinit var rt: Ringtone
private lateinit var nt: Ringtone
private lateinit var nm: NotificationManager
private lateinit var snb: NotificationCompat.Builder
@@ -131,8 +131,10 @@ class BaresipService: Service() {
RingtoneManager.TYPE_NOTIFICATION)
nt = RingtoneManager.getRingtone(applicationContext, ntUri)
val rtUri = RingtoneManager.getActualDefaultRingtoneUri(applicationContext,
RingtoneManager.TYPE_RINGTONE)
val rtUri = if (Preferences(applicationContext).ringtoneUri == "")
Settings.System.RINGTONE.toUri()
else
Preferences(applicationContext).ringtoneUri!!.toUri()
rt = RingtoneManager.getRingtone(applicationContext, rtUri)
nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
@@ -1311,8 +1313,8 @@ class BaresipService: Service() {
}
private fun startRinging() {
rt.isLooping = true
rt.play()
rt!!.isLooping = true
rt!!.play()
if (shouldVibrate()) {
vbTimer = Timer()
vbTimer!!.schedule(object : TimerTask() {
@@ -1346,7 +1348,7 @@ class BaresipService: Service() {
}
private fun stopRinging() {
rt.stop()
rt!!.stop()
if (vbTimer != null) {
vbTimer!!.cancel()
vbTimer = null
@@ -1663,6 +1665,7 @@ class BaresipService: Service() {
var aecAvailable = false
private var aec: AcousticEchoCanceler? = null
var agcAvailable = false
var rt: Ringtone? = null
private var agc: AutomaticGainControl? = null
private val nsAvailable = NoiseSuppressor.isAvailable()
private var ns: NoiseSuppressor? = null