summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlamefire <alex@grundis.de>2014-11-18 20:42:35 +0100
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-11-18 20:41:49 +0000
commit5426f615097ed39de169d0c8f8c3e0a84f499ab6 (patch)
treee940d222f9d7cac683c82d755f9987848838dd71
parent430ae37e3aa50510bb98dc2b556f98be99c015cb (diff)
downloadandroid_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.java6
-rw-r--r--src/com/android/deskclock/Utils.java2
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")) {