From e8e52db9b1b888d3e3477a46dedd939fe2c68c48 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 Aug 2020 14:39:11 -0500 Subject: [PATCH] HabitPickerDialog: Show "no habits found" message --- .../widgets/activities/HabitPickerDialog.kt | 9 +++++ .../main/res/layout/widget_empty_activity.xml | 35 +++++++++++++++++++ .../src/main/res/values/strings.xml | 3 ++ .../src/main/res/xml/widget_streak_info.xml | 2 +- .../src/main/res/xml/widget_target_info.xml | 2 +- 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 android/uhabits-android/src/main/res/layout/widget_empty_activity.xml diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/activities/HabitPickerDialog.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/activities/HabitPickerDialog.kt index 6d2676b77..1f5c5ee7c 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/activities/HabitPickerDialog.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/activities/HabitPickerDialog.kt @@ -32,10 +32,12 @@ import java.util.* class BooleanHabitPickerDialog : HabitPickerDialog() { override fun shouldHideNumerical() = true + override fun getEmptyMessage() = R.string.no_boolean_habits } class NumericalHabitPickerDialog : HabitPickerDialog() { override fun shouldHideBoolean() = true + override fun getEmptyMessage() = R.string.no_numerical_habits } open class HabitPickerDialog : Activity() { @@ -46,6 +48,7 @@ open class HabitPickerDialog : Activity() { protected open fun shouldHideNumerical() = false protected open fun shouldHideBoolean() = false + protected open fun getEmptyMessage() = R.string.no_habits override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -66,6 +69,12 @@ open class HabitPickerDialog : Activity() { habitNames.add(h.name) } + if (habitNames.isEmpty()) { + setContentView(R.layout.widget_empty_activity) + findViewById(R.id.message).setText(getEmptyMessage()) + return; + } + setContentView(R.layout.widget_configure_activity) val listView = findViewById(R.id.listView) val saveButton = findViewById