Make validation errors readable (#837)

Fixes #757.
pull/821/head
Quentin Hibon 5 years ago committed by GitHub
parent 9b753b07f8
commit fc26d7967f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -23,15 +23,22 @@ import android.annotation.SuppressLint
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.text.Html
import android.text.Spanned
import android.text.format.DateFormat import android.text.format.DateFormat
import android.view.View import android.view.View
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import androidx.annotation.StringRes
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import com.android.datetimepicker.time.RadialPickerLayout import com.android.datetimepicker.time.RadialPickerLayout
import com.android.datetimepicker.time.TimePickerDialog import com.android.datetimepicker.time.TimePickerDialog
import kotlinx.android.synthetic.main.activity_edit_habit.* import kotlinx.android.synthetic.main.activity_edit_habit.nameInput
import kotlinx.android.synthetic.main.activity_edit_habit.notesInput
import kotlinx.android.synthetic.main.activity_edit_habit.questionInput
import kotlinx.android.synthetic.main.activity_edit_habit.targetInput
import kotlinx.android.synthetic.main.activity_edit_habit.unitInput
import org.isoron.uhabits.HabitsApplication import org.isoron.uhabits.HabitsApplication
import org.isoron.uhabits.R import org.isoron.uhabits.R
import org.isoron.uhabits.activities.AndroidThemeSwitcher import org.isoron.uhabits.activities.AndroidThemeSwitcher
@ -264,12 +271,12 @@ class EditHabitActivity : AppCompatActivity() {
private fun validate(): Boolean { private fun validate(): Boolean {
var isValid = true var isValid = true
if (nameInput.text.isEmpty()) { if (nameInput.text.isEmpty()) {
nameInput.error = getString(R.string.validation_cannot_be_blank) nameInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank)
isValid = false isValid = false
} }
if (habitType == Habit.NUMBER_HABIT) { if (habitType == Habit.NUMBER_HABIT) {
if (unitInput.text.isEmpty()) { if (unitInput.text.isEmpty()) {
unitInput.error = getString(R.string.validation_cannot_be_blank) unitInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank)
isValid = false isValid = false
} }
if (targetInput.text.isEmpty()) { if (targetInput.text.isEmpty()) {
@ -322,6 +329,11 @@ class EditHabitActivity : AppCompatActivity() {
} }
} }
private fun getFormattedValidationError(@StringRes resId: Int): Spanned {
val html = "<font color=#FFFFFF>${getString(resId)}</font>"
return Html.fromHtml(html)
}
override fun onSaveInstanceState(state: Bundle) { override fun onSaveInstanceState(state: Bundle) {
super.onSaveInstanceState(state) super.onSaveInstanceState(state)
with(state) { with(state) {

Loading…
Cancel
Save