move some reminder related things to context extensions
This commit is contained in:
parent
326015c03a
commit
7e491869bc
|
@ -11,7 +11,12 @@ import android.widget.AdapterView
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
import com.simplemobiletools.calendar.extensions.config
|
import com.simplemobiletools.calendar.extensions.config
|
||||||
import com.simplemobiletools.calendar.helpers.*
|
import com.simplemobiletools.calendar.extensions.getDefaultReminderTypeIndex
|
||||||
|
import com.simplemobiletools.calendar.extensions.getDefaultReminderValue
|
||||||
|
import com.simplemobiletools.calendar.extensions.setupReminderPeriod
|
||||||
|
import com.simplemobiletools.calendar.helpers.DAY_MINS
|
||||||
|
import com.simplemobiletools.calendar.helpers.HOUR_MINS
|
||||||
|
import com.simplemobiletools.calendar.helpers.REMINDER_CUSTOM
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import kotlinx.android.synthetic.main.activity_settings.*
|
import kotlinx.android.synthetic.main.activity_settings.*
|
||||||
|
|
||||||
|
@ -132,9 +137,9 @@ class SettingsActivity : SimpleActivity() {
|
||||||
private fun setupEventReminder() {
|
private fun setupEventReminder() {
|
||||||
val reminderType = config.defaultReminderType
|
val reminderType = config.defaultReminderType
|
||||||
val reminderMinutes = config.defaultReminderMinutes
|
val reminderMinutes = config.defaultReminderMinutes
|
||||||
settings_default_reminder.setSelection(getDefaultReminderTypeIndex(reminderType))
|
settings_default_reminder.setSelection(getDefaultReminderTypeIndex())
|
||||||
custom_reminder_save.setTextColor(custom_reminder_other_val.currentTextColor)
|
custom_reminder_save.setTextColor(custom_reminder_other_val.currentTextColor)
|
||||||
setupReminderPeriod(reminderMinutes)
|
setupReminderPeriod(reminderMinutes, custom_reminder_other_period, custom_reminder_value)
|
||||||
|
|
||||||
settings_custom_reminder_holder.beVisibleIf(reminderType == REMINDER_CUSTOM)
|
settings_custom_reminder_holder.beVisibleIf(reminderType == REMINDER_CUSTOM)
|
||||||
custom_reminder_save.setOnClickListener { saveReminder() }
|
custom_reminder_save.setOnClickListener { saveReminder() }
|
||||||
|
@ -157,22 +162,6 @@ class SettingsActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getDefaultReminderTypeIndex(type: Int): Int {
|
|
||||||
return when (type) {
|
|
||||||
REMINDER_OFF -> 0
|
|
||||||
REMINDER_AT_START -> 1
|
|
||||||
else -> 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getDefaultReminderValue(index: Int): Int {
|
|
||||||
return when (index) {
|
|
||||||
0 -> REMINDER_OFF
|
|
||||||
1 -> REMINDER_AT_START
|
|
||||||
else -> REMINDER_CUSTOM
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun saveReminder() {
|
private fun saveReminder() {
|
||||||
val value = custom_reminder_value.value
|
val value = custom_reminder_value.value
|
||||||
val multiplier = when (custom_reminder_other_period.selectedItemPosition) {
|
val multiplier = when (custom_reminder_other_period.selectedItemPosition) {
|
||||||
|
@ -187,22 +176,6 @@ class SettingsActivity : SimpleActivity() {
|
||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupReminderPeriod(mins: Int) {
|
|
||||||
var value = mins
|
|
||||||
if (mins == 0) {
|
|
||||||
custom_reminder_other_period.setSelection(0)
|
|
||||||
} else if (mins % DAY_MINS == 0) {
|
|
||||||
value = mins / DAY_MINS
|
|
||||||
custom_reminder_other_period.setSelection(2)
|
|
||||||
} else if (mins % HOUR_MINS == 0) {
|
|
||||||
value = mins / HOUR_MINS
|
|
||||||
custom_reminder_other_period.setSelection(1)
|
|
||||||
} else {
|
|
||||||
custom_reminder_other_period.setSelection(0)
|
|
||||||
}
|
|
||||||
custom_reminder_value.setText(value.toString())
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getWeeklyAdapter(): ArrayAdapter<String> {
|
private fun getWeeklyAdapter(): ArrayAdapter<String> {
|
||||||
val adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item)
|
val adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item)
|
||||||
for (i in 0..24) {
|
for (i in 0..24) {
|
||||||
|
|
|
@ -9,6 +9,8 @@ import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.SystemClock
|
import android.os.SystemClock
|
||||||
|
import android.support.v7.widget.AppCompatSpinner
|
||||||
|
import android.widget.EditText
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
import com.simplemobiletools.calendar.helpers.*
|
import com.simplemobiletools.calendar.helpers.*
|
||||||
import com.simplemobiletools.calendar.models.Event
|
import com.simplemobiletools.calendar.models.Event
|
||||||
|
@ -98,6 +100,39 @@ fun Context.getAppropriateTheme(): Int {
|
||||||
return if (config.backgroundColor.getContrastColor() == Color.WHITE) R.style.MyDialogTheme_Dark else R.style.MyDialogTheme
|
return if (config.backgroundColor.getContrastColor() == Color.WHITE) R.style.MyDialogTheme_Dark else R.style.MyDialogTheme
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.getDefaultReminderTypeIndex(): Int {
|
||||||
|
val reminderType = config.defaultReminderType
|
||||||
|
return when (reminderType) {
|
||||||
|
REMINDER_OFF -> 0
|
||||||
|
REMINDER_AT_START -> 1
|
||||||
|
else -> 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.getDefaultReminderValue(index: Int): Int {
|
||||||
|
return when (index) {
|
||||||
|
0 -> REMINDER_OFF
|
||||||
|
1 -> REMINDER_AT_START
|
||||||
|
else -> REMINDER_CUSTOM
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.setupReminderPeriod(mins: Int, otherPeriod: AppCompatSpinner, otherValue: EditText) {
|
||||||
|
var value = mins
|
||||||
|
if (mins == 0) {
|
||||||
|
otherPeriod.setSelection(0)
|
||||||
|
} else if (mins % DAY_MINS == 0) {
|
||||||
|
value = mins / DAY_MINS
|
||||||
|
otherPeriod.setSelection(2)
|
||||||
|
} else if (mins % HOUR_MINS == 0) {
|
||||||
|
value = mins / HOUR_MINS
|
||||||
|
otherPeriod.setSelection(1)
|
||||||
|
} else {
|
||||||
|
otherPeriod.setSelection(0)
|
||||||
|
}
|
||||||
|
otherValue.setText(value.toString())
|
||||||
|
}
|
||||||
|
|
||||||
fun Context.getNewEventTimestampFromCode(dayCode: String) = Formatter.getLocalDateTimeFromCode(dayCode).withTime(13, 0, 0, 0).seconds()
|
fun Context.getNewEventTimestampFromCode(dayCode: String) = Formatter.getLocalDateTimeFromCode(dayCode).withTime(13, 0, 0, 0).seconds()
|
||||||
|
|
||||||
val Context.config: Config get() = Config.newInstance(this)
|
val Context.config: Config get() = Config.newInstance(this)
|
||||||
|
|
Loading…
Reference in New Issue