use the new Reminder model class at more places

This commit is contained in:
tibbi 2019-03-12 11:38:21 +01:00
parent 5e14ca10b6
commit 1eb798e1ca

View File

@ -19,6 +19,7 @@ import com.simplemobiletools.calendar.pro.helpers.Formatter
import com.simplemobiletools.calendar.pro.models.CalDAVCalendar import com.simplemobiletools.calendar.pro.models.CalDAVCalendar
import com.simplemobiletools.calendar.pro.models.Event import com.simplemobiletools.calendar.pro.models.Event
import com.simplemobiletools.calendar.pro.models.EventType import com.simplemobiletools.calendar.pro.models.EventType
import com.simplemobiletools.calendar.pro.models.Reminder
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
@ -154,21 +155,21 @@ class EventActivity : SimpleActivity() {
event_reminder_1_type.setOnClickListener { event_reminder_1_type.setOnClickListener {
showReminderTypePicker(mReminder1Type) { showReminderTypePicker(mReminder1Type) {
mReminder1Type = it mReminder1Type = it
updateReminderTypeImage(event_reminder_1_type, mReminder1Minutes, mReminder1Type) updateReminderTypeImage(event_reminder_1_type, Reminder(mReminder1Minutes, mReminder1Type))
} }
} }
event_reminder_2_type.setOnClickListener { event_reminder_2_type.setOnClickListener {
showReminderTypePicker(mReminder2Type) { showReminderTypePicker(mReminder2Type) {
mReminder2Type = it mReminder2Type = it
updateReminderTypeImage(event_reminder_2_type, mReminder2Minutes, mReminder2Type) updateReminderTypeImage(event_reminder_2_type, Reminder(mReminder2Minutes, mReminder2Type))
} }
} }
event_reminder_3_type.setOnClickListener { event_reminder_3_type.setOnClickListener {
showReminderTypePicker(mReminder3Type) { showReminderTypePicker(mReminder3Type) {
mReminder3Type = it mReminder3Type = it
updateReminderTypeImage(event_reminder_3_type, mReminder3Minutes, mReminder3Type) updateReminderTypeImage(event_reminder_3_type, Reminder(mReminder3Minutes, mReminder3Type))
} }
} }
@ -632,14 +633,14 @@ class EventActivity : SimpleActivity() {
} }
private fun updateReminderTypeImages() { private fun updateReminderTypeImages() {
updateReminderTypeImage(event_reminder_1_type, mReminder1Minutes, mReminder1Type) updateReminderTypeImage(event_reminder_1_type, Reminder(mReminder1Minutes, mReminder1Type))
updateReminderTypeImage(event_reminder_2_type, mReminder2Minutes, mReminder2Type) updateReminderTypeImage(event_reminder_2_type, Reminder(mReminder2Minutes, mReminder2Type))
updateReminderTypeImage(event_reminder_3_type, mReminder3Minutes, mReminder3Type) updateReminderTypeImage(event_reminder_3_type, Reminder(mReminder3Minutes, mReminder3Type))
} }
private fun updateReminderTypeImage(view: ImageView, minutes: Int, type: Int) { private fun updateReminderTypeImage(view: ImageView, reminder: Reminder) {
view.beVisibleIf(minutes != REMINDER_OFF && mEventCalendarId != STORED_LOCALLY_ONLY) view.beVisibleIf(reminder.minutes != REMINDER_OFF && mEventCalendarId != STORED_LOCALLY_ONLY)
val drawable = if (type == REMINDER_NOTIFICATION) R.drawable.ic_bell else R.drawable.ic_email val drawable = if (reminder.type == REMINDER_NOTIFICATION) R.drawable.ic_bell else R.drawable.ic_email
val icon = resources.getColoredDrawableWithColor(drawable, config.textColor) val icon = resources.getColoredDrawableWithColor(drawable, config.textColor)
view.setImageDrawable(icon) view.setImageDrawable(icon)
} }
@ -820,28 +821,26 @@ class EventActivity : SimpleActivity() {
"$CALDAV-$mEventCalendarId" "$CALDAV-$mEventCalendarId"
} }
val reminders = LinkedHashMap<Int, Int>().apply { var reminders = arrayListOf(
put(mReminder1Minutes, mReminder1Type) Reminder(mReminder1Minutes, mReminder1Type),
put(mReminder2Minutes, mReminder2Type) Reminder(mReminder2Minutes, mReminder2Type),
put(mReminder3Minutes, mReminder3Type) Reminder(mReminder3Minutes, mReminder3Type)
} )
reminders = reminders.filter { it.minutes != REMINDER_OFF }.sortedBy { it.minutes }.toMutableList() as ArrayList<Reminder>
val sortedReminders = reminders.toSortedMap().filter { it.key != REMINDER_OFF } val reminder1 = reminders.getOrNull(0) ?: Reminder(REMINDER_OFF, REMINDER_NOTIFICATION)
val keys = sortedReminders.keys.toList() val reminder2 = reminders.getOrNull(1) ?: Reminder(REMINDER_OFF, REMINDER_NOTIFICATION)
val reminder1 = keys.getOrElse(0) { REMINDER_OFF } val reminder3 = reminders.getOrNull(2) ?: Reminder(REMINDER_OFF, REMINDER_NOTIFICATION)
val reminder2 = keys.getOrElse(1) { REMINDER_OFF }
val reminder3 = keys.getOrElse(2) { REMINDER_OFF }
val types = sortedReminders.values.toList() mReminder1Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else reminder1.type
mReminder1Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else types.getOrElse(0) { REMINDER_NOTIFICATION } mReminder2Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else reminder2.type
mReminder2Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else types.getOrElse(1) { REMINDER_NOTIFICATION } mReminder3Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else reminder3.type
mReminder3Type = if (mEventCalendarId == STORED_LOCALLY_ONLY) REMINDER_NOTIFICATION else types.getOrElse(2) { REMINDER_NOTIFICATION }
config.apply { config.apply {
if (usePreviousEventReminders) { if (usePreviousEventReminders) {
lastEventReminderMinutes1 = reminder1 lastEventReminderMinutes1 = reminder1.minutes
lastEventReminderMinutes2 = reminder2 lastEventReminderMinutes2 = reminder2.minutes
lastEventReminderMinutes3 = reminder3 lastEventReminderMinutes3 = reminder3.minutes
} }
} }
@ -850,9 +849,9 @@ class EventActivity : SimpleActivity() {
endTS = newEndTS endTS = newEndTS
title = newTitle title = newTitle
description = event_description.value description = event_description.value
reminder1Minutes = reminder1 reminder1Minutes = reminder1.minutes
reminder2Minutes = reminder2 reminder2Minutes = reminder2.minutes
reminder3Minutes = reminder3 reminder3Minutes = reminder3.minutes
reminder1Type = mReminder1Type reminder1Type = mReminder1Type
reminder2Type = mReminder2Type reminder2Type = mReminder2Type
reminder3Type = mReminder3Type reminder3Type = mReminder3Type