Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5426f615 authored by Flamefire's avatar Flamefire Committed by Gerrit Code Review
Browse files

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
parent 430ae37e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
+2 −0
Original line number Diff line number Diff line
@@ -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")) {