|
|
@ -54,7 +54,7 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
var freqDen = 1
|
|
|
|
var freqDen = 1
|
|
|
|
var reminderHour = -1
|
|
|
|
var reminderHour = -1
|
|
|
|
var reminderMin = -1
|
|
|
|
var reminderMin = -1
|
|
|
|
var reminderDays: WeekdayList = WeekdayList.EVERY_DAY
|
|
|
|
var activeDays: WeekdayList = WeekdayList.EVERY_DAY
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate(state: Bundle?) {
|
|
|
|
override fun onCreate(state: Bundle?) {
|
|
|
|
super.onCreate(state)
|
|
|
|
super.onCreate(state)
|
|
|
@ -77,8 +77,9 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
if (habit.hasReminder()) {
|
|
|
|
if (habit.hasReminder()) {
|
|
|
|
reminderHour = habit.reminder.hour
|
|
|
|
reminderHour = habit.reminder.hour
|
|
|
|
reminderMin = habit.reminder.minute
|
|
|
|
reminderMin = habit.reminder.minute
|
|
|
|
reminderDays = habit.reminder.days
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
activeDays = habit.activeDays
|
|
|
|
|
|
|
|
|
|
|
|
binding.nameInput.setText(habit.name)
|
|
|
|
binding.nameInput.setText(habit.name)
|
|
|
|
binding.questionInput.setText(habit.question)
|
|
|
|
binding.questionInput.setText(habit.question)
|
|
|
|
binding.notesInput.setText(habit.description)
|
|
|
|
binding.notesInput.setText(habit.description)
|
|
|
@ -96,7 +97,7 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
freqDen = state.getInt("freqDen")
|
|
|
|
freqDen = state.getInt("freqDen")
|
|
|
|
reminderHour = state.getInt("reminderHour")
|
|
|
|
reminderHour = state.getInt("reminderHour")
|
|
|
|
reminderMin = state.getInt("reminderMin")
|
|
|
|
reminderMin = state.getInt("reminderMin")
|
|
|
|
reminderDays = WeekdayList(state.getInt("reminderDays"))
|
|
|
|
activeDays = WeekdayList(state.getInt("activeDays"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updateColors()
|
|
|
|
updateColors()
|
|
|
@ -168,21 +169,21 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
override fun onTimeCleared(view: RadialPickerLayout?) {
|
|
|
|
override fun onTimeCleared(view: RadialPickerLayout?) {
|
|
|
|
reminderHour = -1
|
|
|
|
reminderHour = -1
|
|
|
|
reminderMin = -1
|
|
|
|
reminderMin = -1
|
|
|
|
reminderDays = WeekdayList.EVERY_DAY
|
|
|
|
|
|
|
|
populateReminder()
|
|
|
|
populateReminder()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, currentHour, currentMin, is24HourMode, androidColor)
|
|
|
|
}, currentHour, currentMin, is24HourMode, androidColor)
|
|
|
|
dialog.show(supportFragmentManager, "timePicker")
|
|
|
|
dialog.show(supportFragmentManager, "timePicker")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
binding.reminderDatePicker.setOnClickListener {
|
|
|
|
populateActiveDays()
|
|
|
|
|
|
|
|
binding.activeDaysDatePicker.setOnClickListener {
|
|
|
|
val dialog = WeekdayPickerDialog()
|
|
|
|
val dialog = WeekdayPickerDialog()
|
|
|
|
dialog.setListener { days ->
|
|
|
|
dialog.setListener { days ->
|
|
|
|
reminderDays = days
|
|
|
|
activeDays = days
|
|
|
|
if (reminderDays.isEmpty) reminderDays = WeekdayList.EVERY_DAY
|
|
|
|
if (activeDays.isEmpty) activeDays = WeekdayList.EVERY_DAY
|
|
|
|
populateReminder()
|
|
|
|
populateActiveDays()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
dialog.setSelectedDays(reminderDays)
|
|
|
|
dialog.setSelectedDays(activeDays)
|
|
|
|
dialog.show(supportFragmentManager, "dayPicker")
|
|
|
|
dialog.show(supportFragmentManager, "dayPicker")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -210,8 +211,9 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
habit.description = notesInput.text.trim().toString()
|
|
|
|
habit.description = notesInput.text.trim().toString()
|
|
|
|
habit.color = paletteColor
|
|
|
|
habit.color = paletteColor
|
|
|
|
if (reminderHour >= 0) {
|
|
|
|
if (reminderHour >= 0) {
|
|
|
|
habit.setReminder(Reminder(reminderHour, reminderMin, reminderDays))
|
|
|
|
habit.setReminder(Reminder(reminderHour, reminderMin))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
habit.activeDays = activeDays
|
|
|
|
habit.frequency = Frequency(freqNum, freqDen)
|
|
|
|
habit.frequency = Frequency(freqNum, freqDen)
|
|
|
|
if (habitType == Habit.NUMBER_HABIT) {
|
|
|
|
if (habitType == Habit.NUMBER_HABIT) {
|
|
|
|
habit.targetValue = targetInput.text.toString().toDouble()
|
|
|
|
habit.targetValue = targetInput.text.toString().toDouble()
|
|
|
@ -251,18 +253,17 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
private fun populateReminder() {
|
|
|
|
private fun populateReminder() {
|
|
|
|
if (reminderHour < 0) {
|
|
|
|
if (reminderHour < 0) {
|
|
|
|
binding.reminderTimePicker.text = getString(R.string.reminder_off)
|
|
|
|
binding.reminderTimePicker.text = getString(R.string.reminder_off)
|
|
|
|
binding.reminderDatePicker.visibility = View.GONE
|
|
|
|
|
|
|
|
binding.reminderDivider.visibility = View.GONE
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
val time = AndroidDateUtils.formatTime(this, reminderHour, reminderMin)
|
|
|
|
val time = AndroidDateUtils.formatTime(this, reminderHour, reminderMin)
|
|
|
|
val daysArray = reminderDays.toArray()
|
|
|
|
|
|
|
|
binding.reminderTimePicker.text = time
|
|
|
|
binding.reminderTimePicker.text = time
|
|
|
|
binding.reminderDatePicker.visibility = View.VISIBLE
|
|
|
|
|
|
|
|
binding.reminderDivider.visibility = View.VISIBLE
|
|
|
|
|
|
|
|
binding.reminderDatePicker.text = AndroidDateUtils.formatWeekdayList(this, daysArray)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun populateActiveDays() {
|
|
|
|
|
|
|
|
val daysArray = activeDays.toArray()
|
|
|
|
|
|
|
|
binding.activeDaysDatePicker.text = AndroidDateUtils.formatWeekdayList(this, daysArray)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun populateFrequency() {
|
|
|
|
private fun populateFrequency() {
|
|
|
|
binding.booleanFrequencyPicker.text = when {
|
|
|
|
binding.booleanFrequencyPicker.text = when {
|
|
|
|
freqNum == 1 && freqDen == 1 -> getString(R.string.every_day)
|
|
|
|
freqNum == 1 && freqDen == 1 -> getString(R.string.every_day)
|
|
|
@ -301,7 +302,7 @@ class EditHabitActivity : AppCompatActivity() {
|
|
|
|
putInt("freqDen", freqDen)
|
|
|
|
putInt("freqDen", freqDen)
|
|
|
|
putInt("reminderHour", reminderHour)
|
|
|
|
putInt("reminderHour", reminderHour)
|
|
|
|
putInt("reminderMin", reminderMin)
|
|
|
|
putInt("reminderMin", reminderMin)
|
|
|
|
putInt("reminderDays", reminderDays.toInteger())
|
|
|
|
putInt("activeDays", activeDays.toInteger())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|