Skip to content

Commit 1fc6d16

Browse files
authored
Fix/transition sound not playing (#58)
* Set AudioAttributes on ringtone before play Assign AudioAttributes to the Ringtone with USAGE_ALARM and CONTENT_TYPE_SONIFICATION before calling play(). This ensures correct routing/behavior (volume, focus, and stream selection) on modern Android versions and avoids unexpected muted/incorrect stream playback. Kept nullable-safe access to ringtone. * Update FocusModeService.kt
1 parent 5dadbac commit 1fc6d16

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.app.Service
88
import android.content.Intent
99
import android.content.Intent.FLAG_RECEIVER_FOREGROUND
1010
import android.content.pm.ServiceInfo
11+
import android.media.AudioAttributes
1112
import android.os.Build
1213
import android.os.CountDownTimer
1314
import android.os.IBinder
@@ -620,6 +621,12 @@ class FocusModeService: Service() {
620621
}
621622

622623
val ringtone = android.media.RingtoneManager.getRingtone(applicationContext, soundUri)
624+
625+
ringtone?.audioAttributes = AudioAttributes.Builder()
626+
.setUsage(AudioAttributes.USAGE_ALARM)
627+
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
628+
.build()
629+
623630
ringtone?.play()
624631
} catch (e: Exception) {
625632
e.printStackTrace()

0 commit comments

Comments
 (0)