summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author yumeichen <yumeichen@google.com> 2024-08-26 10:46:51 +0000
committer yumeichen <yumeichen@google.com> 2024-09-25 10:56:32 +0000
commited587d406d0fbd985faa924d67dd2daeb341f20e (patch)
tree1f074eca8c4740df6e2bb8edbff24480f08d8db5
parent10b677501e8449975511b01759938d7c12ebe618 (diff)
Add an extra condition to check whether it is the default notification uri
There is a valid case that the default notification uri with `vibration_uri` as the parameter like: ``` content://settings/system/notification_sound?vibration_uri=file%3A%2Fproduct%252Fmedia%252Fvibration%2Fnotification%2FRumble.xml ``` This CL is to enable this case. Flag: android.media.audio.enable_ringtone_haptics_customization Bug: 351975435 Test: atest RingtoneManagerTest Change-Id: If14de08c6e3c84167df19a8adfc06892f2b5667d
-rw-r--r--media/java/android/media/RingtoneManager.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index f0ab6ecc5cda..0f24654879cd 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -1089,7 +1089,24 @@ public class RingtoneManager {
defaultRingtoneUri = ContentProvider.getUriWithoutUserId(defaultRingtoneUri);
if (defaultRingtoneUri == null) {
return -1;
- } else if (defaultRingtoneUri.equals(Settings.System.DEFAULT_RINGTONE_URI)) {
+ }
+
+ if (Flags.enableRingtoneHapticsCustomization()
+ && Utils.hasVibration(defaultRingtoneUri)) {
+ // skip to check TYPE_ALARM because the customized haptic hasn't enabled in alarm
+ if (defaultRingtoneUri.toString()
+ .contains(Settings.System.DEFAULT_RINGTONE_URI.toString())) {
+ return TYPE_RINGTONE;
+ } else if (defaultRingtoneUri.toString()
+ .contains(Settings.System.DEFAULT_NOTIFICATION_URI.toString())) {
+ return TYPE_NOTIFICATION;
+ } else if (defaultRingtoneUri.toString()
+ .contains(Settings.System.DEFAULT_ALARM_ALERT_URI.toString())) {
+ return TYPE_ALARM;
+ }
+ }
+
+ if (defaultRingtoneUri.equals(Settings.System.DEFAULT_RINGTONE_URI)) {
return TYPE_RINGTONE;
} else if (defaultRingtoneUri.equals(Settings.System.DEFAULT_NOTIFICATION_URI)) {
return TYPE_NOTIFICATION;