add a monthly repeat rule picker

This commit is contained in:
tibbi 2017-05-07 18:39:21 +02:00
parent ec37fb5f50
commit 77778c520d
2 changed files with 17 additions and 2 deletions

View File

@ -11,14 +11,16 @@ import android.view.MenuItem
import android.view.WindowManager
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.dialogs.DeleteEventDialog
import com.simplemobiletools.calendar.dialogs.RepeatRuleWeeklyDialog
import com.simplemobiletools.calendar.dialogs.RepeatLimitTypePickerDialog
import com.simplemobiletools.calendar.dialogs.RepeatRuleWeeklyDialog
import com.simplemobiletools.calendar.dialogs.SelectEventTypeDialog
import com.simplemobiletools.calendar.extensions.*
import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.activity_event.*
import org.joda.time.DateTime
import java.util.*
@ -212,9 +214,22 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
RepeatRuleWeeklyDialog(this, mRepeatRule) {
setRepeatRule(it)
}
} else if (isXMonthlyRepetition()) {
val items = arrayListOf(
RadioItem(REPEAT_MONTH_SAME_DAY, getString(R.string.repeat_on_the_same_day)),
RadioItem(REPEAT_MONTH_EVERY_XTH_DAY, getRepeatXthDayString()),
RadioItem(REPEAT_MONTH_LAST_DAY, getString(R.string.repeat_on_the_last_day)))
RadioGroupDialog(this, items, mRepeatRule) {
setRepeatRule(it as Int)
}
}
}
private fun getRepeatXthDayString(): String {
return getString(R.string.repeat_every_m)
}
private fun setRepeatRule(rule: Int) {
mRepeatRule = rule
checkRepetitionRuleText()

View File

@ -58,7 +58,7 @@ val EVERY_DAY = 127
// repeat_rule for monthly repetition
val REPEAT_MONTH_SAME_DAY = 1
val REPEAT_MONTH_EVERY_XTH_DAY = 3
val REPEAT_MONTH_EVERY_XTH_DAY = 2
val REPEAT_MONTH_LAST_DAY = 3
// special event flags