Merge pull request #1184 from hiqua/unfocus_every_day

Don't unfocus after select 'every day' frequency
pull/1212/head
Alinson S. Xavier 4 years ago committed by GitHub
commit 621534d610
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -68,13 +68,12 @@ class FrequencyPickerDialog(
contentView.everyDayRadioButton.setOnClickListener { contentView.everyDayRadioButton.setOnClickListener {
check(contentView.everyDayRadioButton) check(contentView.everyDayRadioButton)
unfocusAll()
} }
contentView.everyXDaysRadioButton.setOnClickListener { contentView.everyXDaysRadioButton.setOnClickListener {
check(contentView.everyXDaysRadioButton) check(contentView.everyXDaysRadioButton)
val everyXDaysTextView = contentView.everyXDaysTextView val everyXDaysTextView = contentView.everyXDaysTextView
focus(everyXDaysTextView) selectInputField(everyXDaysTextView)
} }
contentView.everyXDaysTextView.setOnFocusChangeListener { v, hasFocus -> contentView.everyXDaysTextView.setOnFocusChangeListener { v, hasFocus ->
@ -83,7 +82,7 @@ class FrequencyPickerDialog(
contentView.xTimesPerWeekRadioButton.setOnClickListener { contentView.xTimesPerWeekRadioButton.setOnClickListener {
check(contentView.xTimesPerWeekRadioButton) check(contentView.xTimesPerWeekRadioButton)
focus(contentView.xTimesPerWeekTextView) selectInputField(contentView.xTimesPerWeekTextView)
} }
contentView.xTimesPerWeekTextView.setOnFocusChangeListener { v, hasFocus -> contentView.xTimesPerWeekTextView.setOnFocusChangeListener { v, hasFocus ->
@ -92,7 +91,7 @@ class FrequencyPickerDialog(
contentView.xTimesPerMonthRadioButton.setOnClickListener { contentView.xTimesPerMonthRadioButton.setOnClickListener {
check(contentView.xTimesPerMonthRadioButton) check(contentView.xTimesPerMonthRadioButton)
focus(contentView.xTimesPerMonthTextView) selectInputField(contentView.xTimesPerMonthTextView)
} }
contentView.xTimesPerMonthTextView.setOnFocusChangeListener { v, hasFocus -> contentView.xTimesPerMonthTextView.setOnFocusChangeListener { v, hasFocus ->
@ -101,7 +100,7 @@ class FrequencyPickerDialog(
contentView.xTimesPerYDaysRadioButton.setOnClickListener { contentView.xTimesPerYDaysRadioButton.setOnClickListener {
check(contentView.xTimesPerYDaysRadioButton) check(contentView.xTimesPerYDaysRadioButton)
focus(contentView.xTimesPerYDaysXTextView) selectInputField(contentView.xTimesPerYDaysXTextView)
} }
contentView.xTimesPerYDaysXTextView.setOnFocusChangeListener { v, hasFocus -> contentView.xTimesPerYDaysXTextView.setOnFocusChangeListener { v, hasFocus ->
@ -185,7 +184,7 @@ class FrequencyPickerDialog(
if (freqDenominator == 30 || freqDenominator == 31) { if (freqDenominator == 30 || freqDenominator == 31) {
contentView.xTimesPerMonthRadioButton.isChecked = true contentView.xTimesPerMonthRadioButton.isChecked = true
contentView.xTimesPerMonthTextView.setText(freqNumerator.toString()) contentView.xTimesPerMonthTextView.setText(freqNumerator.toString())
focus(contentView.xTimesPerMonthTextView) selectInputField(contentView.xTimesPerMonthTextView)
} else { } else {
if (freqNumerator == 1) { if (freqNumerator == 1) {
if (freqDenominator == 1) { if (freqDenominator == 1) {
@ -193,13 +192,13 @@ class FrequencyPickerDialog(
} else { } else {
contentView.everyXDaysRadioButton.isChecked = true contentView.everyXDaysRadioButton.isChecked = true
contentView.everyXDaysTextView.setText(freqDenominator.toString()) contentView.everyXDaysTextView.setText(freqDenominator.toString())
focus(contentView.everyXDaysTextView) selectInputField(contentView.everyXDaysTextView)
} }
} else { } else {
if (freqDenominator == 7) { if (freqDenominator == 7) {
contentView.xTimesPerWeekRadioButton.isChecked = true contentView.xTimesPerWeekRadioButton.isChecked = true
contentView.xTimesPerWeekTextView.setText(freqNumerator.toString()) contentView.xTimesPerWeekTextView.setText(freqNumerator.toString())
focus(contentView.xTimesPerWeekTextView) selectInputField(contentView.xTimesPerWeekTextView)
} else { } else {
contentView.xTimesPerYDaysRadioButton.isChecked = true contentView.xTimesPerYDaysRadioButton.isChecked = true
contentView.xTimesPerYDaysXTextView.setText(freqNumerator.toString()) contentView.xTimesPerYDaysXTextView.setText(freqNumerator.toString())
@ -209,8 +208,7 @@ class FrequencyPickerDialog(
} }
} }
private fun focus(view: EditText) { private fun selectInputField(view: EditText) {
view.requestFocus()
view.setSelection(view.text.length) view.setSelection(view.text.length)
} }
@ -221,10 +219,4 @@ class FrequencyPickerDialog(
contentView.xTimesPerMonthRadioButton.isChecked = false contentView.xTimesPerMonthRadioButton.isChecked = false
contentView.xTimesPerYDaysRadioButton.isChecked = false contentView.xTimesPerYDaysRadioButton.isChecked = false
} }
private fun unfocusAll() {
contentView.everyXDaysTextView.clearFocus()
contentView.xTimesPerWeekTextView.clearFocus()
contentView.xTimesPerMonthTextView.clearFocus()
}
} }

Loading…
Cancel
Save