Set ringtone stream using audio attributes.
Move away from deprecated setStreamType which has some issues and
can potentially not properly mark the ringtone as a ringtone.
Use AudioAttributes which is the new supported API.
Test: Manual
Bug: 129694437
Change-Id: I6b7936ea60b2d364809437973a05bcffda0abb3e
diff --git a/src/com/android/server/telecom/RingtoneFactory.java b/src/com/android/server/telecom/RingtoneFactory.java
index b452338..7d06b9e 100644
--- a/src/com/android/server/telecom/RingtoneFactory.java
+++ b/src/com/android/server/telecom/RingtoneFactory.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
+import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.RingtoneManager;
import android.media.Ringtone;
@@ -81,7 +82,10 @@
ringtone = RingtoneManager.getRingtone(contextToUse, defaultRingtoneUri);
}
if (ringtone != null) {
- ringtone.setStreamType(AudioManager.STREAM_RING);
+ ringtone.setAudioAttributes(new AudioAttributes.Builder()
+ .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
+ .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+ .build());
}
return ringtone;
}