From fc26d7967fdcac826f25d93d69cda499a341adf1 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Thu, 11 Mar 2021 03:37:43 +0100 Subject: [PATCH] Make validation errors readable (#837) Fixes #757. --- .../habits/edit/EditHabitActivity.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt index 80adad0c7..d6e73bcfe 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt @@ -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 = "${getString(resId)}" + return Html.fromHtml(html) + } + override fun onSaveInstanceState(state: Bundle) { super.onSaveInstanceState(state) with(state) {