mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Xiaomi: Fix reminder crash on unknown repetition
This commit is contained in:
+8
-19
@@ -110,25 +110,14 @@ public class GBReminderListAdapter extends RecyclerView.Adapter<GBReminderListAd
|
||||
format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
|
||||
}
|
||||
|
||||
int stringResId = 0;
|
||||
|
||||
switch (reminder.getRepetition()) {
|
||||
case Reminder.ONCE:
|
||||
stringResId = R.string.reminder_time_once;
|
||||
break;
|
||||
case Reminder.EVERY_DAY:
|
||||
stringResId = R.string.reminder_time_every_day;
|
||||
break;
|
||||
case Reminder.EVERY_WEEK:
|
||||
stringResId = R.string.reminder_time_every_week;
|
||||
break;
|
||||
case Reminder.EVERY_MONTH:
|
||||
stringResId = R.string.reminder_time_every_month;
|
||||
break;
|
||||
case Reminder.EVERY_YEAR:
|
||||
stringResId = R.string.reminder_time_every_year;
|
||||
break;
|
||||
}
|
||||
final int stringResId = switch (reminder.getRepetition()) {
|
||||
case Reminder.ONCE -> R.string.reminder_time_once;
|
||||
case Reminder.EVERY_DAY -> R.string.reminder_time_every_day;
|
||||
case Reminder.EVERY_WEEK -> R.string.reminder_time_every_week;
|
||||
case Reminder.EVERY_MONTH -> R.string.reminder_time_every_month;
|
||||
case Reminder.EVERY_YEAR -> R.string.reminder_time_every_year;
|
||||
default -> R.string.unknown;
|
||||
};
|
||||
|
||||
final String reminderTimeText = mContext.getString(stringResId, format.format(time));
|
||||
holder.reminderTime.setText(reminderTimeText);
|
||||
|
||||
+26
-11
@@ -191,14 +191,22 @@ public class XiaomiScheduleService extends AbstractXiaomiService {
|
||||
gbReminder.setDate(XiaomiPreferences.toDate(reminder.getReminderDetails().getDate(), reminder.getReminderDetails().getTime()));
|
||||
|
||||
switch (reminder.getReminderDetails().getRepeatMode()) {
|
||||
case REPETITION_ONCE:
|
||||
gbReminder.setRepetition(Alarm.ALARM_ONCE);
|
||||
break;
|
||||
case REPETITION_DAILY:
|
||||
gbReminder.setRepetition(Alarm.ALARM_DAILY);
|
||||
gbReminder.setRepetition(Reminder.EVERY_DAY);
|
||||
break;
|
||||
case REPETITION_WEEKLY:
|
||||
gbReminder.setRepetition(reminder.getReminderDetails().getRepeatFlags());
|
||||
gbReminder.setRepetition(Reminder.EVERY_WEEK);
|
||||
// TODO support for weekly repeat flags reminder.getReminderDetails().getRepeatFlags()
|
||||
break;
|
||||
case REPETITION_MONTHLY:
|
||||
gbReminder.setRepetition(Reminder.EVERY_MONTH);
|
||||
break;
|
||||
case REPETITION_YEARLY:
|
||||
gbReminder.setRepetition(Reminder.EVERY_YEAR);
|
||||
break;
|
||||
case REPETITION_ONCE:
|
||||
default:
|
||||
gbReminder.setRepetition(Reminder.ONCE);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -315,15 +323,22 @@ public class XiaomiScheduleService extends AbstractXiaomiService {
|
||||
.setTitle(reminder.getMessage());
|
||||
|
||||
switch (reminder.getRepetition()) {
|
||||
case Alarm.ALARM_ONCE:
|
||||
reminderDetails.setRepeatMode(REPETITION_ONCE);
|
||||
break;
|
||||
case Alarm.ALARM_DAILY:
|
||||
case Reminder.EVERY_DAY:
|
||||
reminderDetails.setRepeatMode(REPETITION_DAILY);
|
||||
break;
|
||||
default:
|
||||
case Reminder.EVERY_WEEK:
|
||||
reminderDetails.setRepeatMode(REPETITION_WEEKLY);
|
||||
reminderDetails.setRepeatFlags(reminder.getRepetition());
|
||||
reminderDetails.setRepeatFlags((reminderTime.get(Calendar.DAY_OF_WEEK) + 5) % 7 + 1);
|
||||
break;
|
||||
case Reminder.EVERY_MONTH:
|
||||
reminderDetails.setRepeatMode(REPETITION_MONTHLY);
|
||||
break;
|
||||
case Reminder.EVERY_YEAR:
|
||||
reminderDetails.setRepeatMode(REPETITION_YEARLY);
|
||||
break;
|
||||
case Reminder.ONCE:
|
||||
default:
|
||||
reminderDetails.setRepeatMode(REPETITION_ONCE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user