@@ -21,7 +21,6 @@ import android.content.Context
2121import android.content.Intent
2222import android.content.IntentFilter
2323import android.media.AudioManager
24- import android.media.RingtoneManager
2524import android.net.Uri
2625import android.os.Handler
2726import android.os.HandlerThread
@@ -139,8 +138,8 @@ internal class AsyncRingtonePlayer(private val mContext: Context) {
139138 val inTelephoneCall = isInTelephoneCall(context)
140139 var alarmNoise: Uri ? = ringtoneUri
141140 // Fall back to the system default alarm if the database does not have an alarm stored.
142- if (alarmNoise == null ) {
143- alarmNoise = RingtoneManager .getDefaultUri( RingtoneManager . TYPE_ALARM )
141+ if (alarmNoise == null || alarmNoise == Uri . EMPTY ) {
142+ alarmNoise = getFallbackRingtoneUri(context )
144143 }
145144
146145 mExoPlayer = ExoPlayer .Builder (context).build()
@@ -157,7 +156,7 @@ internal class AsyncRingtonePlayer(private val mContext: Context) {
157156 // If alarmNoise is a custom ringtone on the sd card the app must be granted
158157 // android.permission.READ_EXTERNAL_STORAGE. Pre-M this is ensured at app
159158 // installation time. M+, this permission can be revoked by the user any time.
160- mExoPlayer?.setMediaItem(MediaItem .fromUri(alarmNoise!! ))
159+ mExoPlayer?.setMediaItem(MediaItem .fromUri(alarmNoise))
161160
162161 startPlayback(inTelephoneCall)
163162 } catch (_: Throwable ) {
0 commit comments