diff options
| author | 2024-08-26 10:46:51 +0000 | |
|---|---|---|
| committer | 2024-09-25 10:56:32 +0000 | |
| commit | ed587d406d0fbd985faa924d67dd2daeb341f20e (patch) | |
| tree | 1f074eca8c4740df6e2bb8edbff24480f08d8db5 | |
| parent | 10b677501e8449975511b01759938d7c12ebe618 (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.java | 19 |
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; |