diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt
index 2a11f7c63..e9dc33e4c 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt
@@ -23,12 +23,14 @@ import android.content.res.*
import android.graphics.*
import android.os.*
import android.text.format.*
+import android.view.*
import androidx.appcompat.app.*
import com.android.datetimepicker.time.*
import org.isoron.androidbase.utils.*
import org.isoron.uhabits.*
import org.isoron.uhabits.activities.*
import org.isoron.uhabits.activities.common.dialogs.*
+import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.preferences.*
import org.isoron.uhabits.databinding.*
import org.isoron.uhabits.preferences.*
@@ -47,6 +49,7 @@ class EditHabitActivity : AppCompatActivity() {
var freqDen = 1
var reminderHour = -1
var reminderMin = -1
+ var reminderDays = WeekdayList.EVERY_DAY
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -84,6 +87,7 @@ class EditHabitActivity : AppCompatActivity() {
dialog.show(supportFragmentManager, "frequencyPicker")
}
+ populateReminder()
binding.reminderTimePicker.setOnClickListener {
val currentHour = if (reminderHour >= 0) reminderHour else 8
val currentMin = if (reminderMin >= 0) reminderMin else 0
@@ -97,12 +101,24 @@ class EditHabitActivity : AppCompatActivity() {
override fun onTimeCleared(view: RadialPickerLayout?) {
reminderHour = -1
reminderMin = -1
+ reminderDays = WeekdayList.EVERY_DAY
populateReminder()
}
}, currentHour, currentMin, is24HourMode, androidColor)
dialog.show(supportFragmentManager, "timePicker")
}
+ binding.reminderDatePicker.setOnClickListener {
+ val dialog = WeekdayPickerDialog()
+ dialog.setListener { days ->
+ reminderDays = days
+ if (reminderDays.isEmpty) reminderDays = WeekdayList.EVERY_DAY
+ populateReminder()
+ }
+ dialog.setSelectedDays(reminderDays)
+ dialog.show(supportFragmentManager, "dayPicker")
+ }
+
binding.buttonSave.setOnClickListener {
finish()
}
@@ -111,9 +127,15 @@ class EditHabitActivity : AppCompatActivity() {
private fun populateReminder() {
if (reminderHour < 0) {
binding.reminderTimePicker.text = getString(R.string.reminder_off)
+ binding.reminderDatePicker.visibility = View.GONE
+ binding.reminderDivider.visibility = View.GONE
} else {
val time = AndroidDateUtils.formatTime(this, reminderHour, reminderMin)
+ val daysArray = reminderDays.toArray()
binding.reminderTimePicker.text = time
+ binding.reminderDatePicker.visibility = View.VISIBLE
+ binding.reminderDivider.visibility = View.VISIBLE
+ binding.reminderDatePicker.text = AndroidDateUtils.formatWeekdayList(this, daysArray)
}
}
diff --git a/android/uhabits-android/src/main/res/layout/activity_edit_habit.xml b/android/uhabits-android/src/main/res/layout/activity_edit_habit.xml
index fcfa2fcc8..f81c28aeb 100644
--- a/android/uhabits-android/src/main/res/layout/activity_edit_habit.xml
+++ b/android/uhabits-android/src/main/res/layout/activity_edit_habit.xml
@@ -68,38 +68,20 @@
android:orientation="vertical"
android:padding="8dp">
-
-
+
+ style="@style/FormLabel"
+ android:text="@string/name" />
+ style="@style/FormInput"
+ android:hint="@string/exercise_habit_name"
+ />
-
-
-
+
+ style="@style/FormLabel"
+ android:text="Color" />
-
+
@@ -155,34 +122,15 @@
android:padding="8dp"
android:paddingTop="4dp">
-
-
+
+ style="@style/FormLabel"
+ android:text="@string/question" />
+ />
@@ -196,35 +144,16 @@
android:padding="8dp"
android:paddingTop="4dp">
-
-
+
+ style="@style/FormLabel"
+ android:text="@string/frequency" />
+ />
@@ -237,35 +166,24 @@
android:orientation="vertical"
android:padding="8dp">
-
-
+
+ style="@style/FormLabel"
+ android:text="@string/reminder" />
+ android:text="@string/reminder_off" />
+
+
+
+
@@ -279,34 +197,14 @@
android:orientation="vertical"
android:padding="8dp">
-
-
+
+ style="@style/FormLabel"
+ android:text="@string/notes" />
+ style="@style/FormInput"
+ android:hint="@string/example_notes" />
diff --git a/android/uhabits-android/src/main/res/values/strings.xml b/android/uhabits-android/src/main/res/values/strings.xml
index 4a4f44a0a..cb6d448e5 100644
--- a/android/uhabits-android/src/main/res/values/strings.xml
+++ b/android/uhabits-android/src/main/res/values/strings.xml
@@ -245,7 +245,7 @@
First day of the week
Have you completed this habit today?
Notes
- You can put whatever you want here!
+ (Optional)
e.g. Did you wake up early today? Did you exercise? Did you play chess?
Measurable
@@ -254,5 +254,6 @@
e.g. Are you felling happy today? Definitely, somewhat, not at all? How frequently did you snack? Very often, sometimes, never?
%d times per week
%d times per month
+ e.g. Exercise
\ No newline at end of file
diff --git a/android/uhabits-android/src/main/res/values/styles.xml b/android/uhabits-android/src/main/res/values/styles.xml
index 0d4c9e22e..14332f134 100644
--- a/android/uhabits-android/src/main/res/values/styles.xml
+++ b/android/uhabits-android/src/main/res/values/styles.xml
@@ -292,4 +292,51 @@
- true
- true
+
+
+
+
+
+
+
+
+
+