diff options
author | Flamefire <alex@grundis.de> | 2014-11-18 20:42:35 +0100 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2014-11-18 20:41:49 +0000 |
commit | 5426f615097ed39de169d0c8f8c3e0a84f499ab6 (patch) | |
tree | e940d222f9d7cac683c82d755f9987848838dd71 | |
parent | 430ae37e3aa50510bb98dc2b556f98be99c015cb (diff) | |
download | android_packages_apps_DeskClock-5426f615097ed39de169d0c8f8c3e0a84f499ab6.tar.gz android_packages_apps_DeskClock-5426f615097ed39de169d0c8f8c3e0a84f499ab6.tar.bz2 android_packages_apps_DeskClock-5426f615097ed39de169d0c8f8c3e0a84f499ab6.zip |
Fix error with invalid default uris
An invalid default uri resulted in an infinite loop:
alarm.alert is invalid -> set to default uri -> invalid again -> set again
Also the default alarm was removed, so using that is not an option
Change-Id: Ibc3cee6dd440b1dd8d260b27101595509f5155b1
-rw-r--r-- | src/com/android/deskclock/AlarmClockFragment.java | 6 | ||||
-rw-r--r-- | src/com/android/deskclock/Utils.java | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/deskclock/AlarmClockFragment.java b/src/com/android/deskclock/AlarmClockFragment.java index c013fdd92..db7ab145f 100644 --- a/src/com/android/deskclock/AlarmClockFragment.java +++ b/src/com/android/deskclock/AlarmClockFragment.java @@ -633,8 +633,8 @@ public class AlarmClockFragment extends DeskClockFragment implements Alarm a = new Alarm(); a.alert = RingtoneManager.getActualDefaultRingtoneUri(getActivity(), RingtoneManager.TYPE_ALARM); - if (a.alert == null) { - a.alert = Uri.parse("content://settings/system/alarm_alert"); + if (!Utils.isRingToneUriValid(getActivity(), a.alert)) { + a.alert = AlarmMediaPlayer.RANDOM_URI; } a.hour = hourOfDay; a.minutes = minute; @@ -1331,6 +1331,8 @@ public class AlarmClockFragment extends DeskClockFragment implements if (!Utils.isRingToneUriValid(mContext, alarm.alert)) { alarm.alert = RingtoneManager.getActualDefaultRingtoneUri(context, RingtoneManager.TYPE_ALARM); + if (!Utils.isRingToneUriValid(mContext, alarm.alert)) + alarm.alert = AlarmMediaPlayer.RANDOM_URI; asyncUpdateAlarm(alarm, false); } final ItemHolder itemHolder = (ItemHolder) tag; diff --git a/src/com/android/deskclock/Utils.java b/src/com/android/deskclock/Utils.java index 5abf79fa2..393c7affb 100644 --- a/src/com/android/deskclock/Utils.java +++ b/src/com/android/deskclock/Utils.java @@ -614,6 +614,8 @@ public class Utils { } public static boolean isRingToneUriValid(Context context, Uri uri) { + if(uri == null) + return false; if (uri.equals(AlarmMediaPlayer.RANDOM_URI) || uri.equals(Alarm.NO_RINGTONE_URI)) { return true; } else if (uri.getScheme().contentEquals("file")) { |