Make validation errors readable

Fixes #757.
pull/837/head
Quentin Hibon 5 years ago
parent 73deb535ef
commit 862ae48443

@ -23,15 +23,22 @@ import android.annotation.SuppressLint
import android.content.res.ColorStateList
import android.graphics.Color
import android.os.Bundle
import android.text.Html
import android.text.Spanned
import android.text.format.DateFormat
import android.view.View
import android.widget.ArrayAdapter
import androidx.annotation.StringRes
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.DialogFragment
import com.android.datetimepicker.time.RadialPickerLayout
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.R
import org.isoron.uhabits.activities.AndroidThemeSwitcher
@ -264,12 +271,12 @@ class EditHabitActivity : AppCompatActivity() {
private fun validate(): Boolean {
var isValid = true
if (nameInput.text.isEmpty()) {
nameInput.error = getString(R.string.validation_cannot_be_blank)
nameInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank)
isValid = false
}
if (habitType == Habit.NUMBER_HABIT) {
if (unitInput.text.isEmpty()) {
unitInput.error = getString(R.string.validation_cannot_be_blank)
unitInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank)
isValid = false
}
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) {
super.onSaveInstanceState(state)
with(state) {

Loading…
Cancel
Save