From 74ce26944676bdafb3147477f8a6637c8a2c9223 Mon Sep 17 00:00:00 2001 From: kalina559 Date: Tue, 18 Feb 2025 20:47:12 +0100 Subject: [PATCH 1/5] Added 'UNKNOWN' button for measurable habits --- .../activities/common/dialogs/NumberDialog.kt | 14 +++++++++++--- .../src/main/res/layout/checkmark_popup.xml | 5 +++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt index d8ba1ed59..56930e3ec 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt @@ -13,6 +13,7 @@ import androidx.appcompat.app.AppCompatDialogFragment import org.isoron.uhabits.HabitsApplication import org.isoron.uhabits.R import org.isoron.uhabits.core.models.Entry +import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN import org.isoron.uhabits.databinding.CheckmarkPopupBinding import org.isoron.uhabits.utils.InterfaceUtils import org.isoron.uhabits.utils.getCenter @@ -36,16 +37,17 @@ class NumberDialog : AppCompatDialogFragment() { val appComponent = (requireActivity().application as HabitsApplication).component val prefs = appComponent.preferences view = CheckmarkPopupBinding.inflate(LayoutInflater.from(context)) - arrayOf(view.yesBtn, view.skipBtn).forEach { + arrayOf(view.yesBtn).forEach { it.setTextColor(requireArguments().getInt("color")) } - arrayOf(view.noBtn, view.unknownBtn).forEach { + arrayOf(view.noBtn, view.unknownBtnNumber).forEach { it.setTextColor(view.root.sres.getColor(R.attr.contrast60)) } - arrayOf(view.yesBtn, view.noBtn, view.skipBtn, view.unknownBtn).forEach { + arrayOf(view.yesBtn, view.noBtn, view.unknownBtnNumber).forEach { it.typeface = InterfaceUtils.getFontAwesome(requireContext()) } if (!prefs.isSkipEnabled) view.skipBtnNumber.visibility = View.GONE + if (!prefs.areQuestionMarksEnabled) view.unknownBtnNumber.visibility = View.GONE view.numberButtons.visibility = View.VISIBLE fixDecimalSeparator(view) originalNotes = requireArguments().getString("notes")!! @@ -71,6 +73,12 @@ class NumberDialog : AppCompatDialogFragment() { view.value.setText(DecimalFormat("#.###").format((Entry.SKIP.toDouble() / 1000))) save() } + + view.unknownBtnNumber.setOnClickListener { + view.value.setText(DecimalFormat("#.###").format((Entry.UNKNOWN.toDouble() / 1000))) + save() + } + view.notes.setOnEditorActionListener { v, actionId, event -> save() true diff --git a/uhabits-android/src/main/res/layout/checkmark_popup.xml b/uhabits-android/src/main/res/layout/checkmark_popup.xml index 59f5c81a1..6bbd87ee0 100644 --- a/uhabits-android/src/main/res/layout/checkmark_popup.xml +++ b/uhabits-android/src/main/res/layout/checkmark_popup.xml @@ -98,6 +98,11 @@ style="@style/NumericalPopupBtn" android:text="@string/skip_day" /> + + Date: Tue, 18 Feb 2025 20:51:16 +0100 Subject: [PATCH 2/5] COrrected formatting --- .../isoron/uhabits/activities/common/dialogs/NumberDialog.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt index 56930e3ec..20ce3024a 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt @@ -47,7 +47,7 @@ class NumberDialog : AppCompatDialogFragment() { it.typeface = InterfaceUtils.getFontAwesome(requireContext()) } if (!prefs.isSkipEnabled) view.skipBtnNumber.visibility = View.GONE - if (!prefs.areQuestionMarksEnabled) view.unknownBtnNumber.visibility = View.GONE + if (!prefs.areQuestionMarksEnabled) view.unknownBtnNumber.visibility = View.GONE view.numberButtons.visibility = View.VISIBLE fixDecimalSeparator(view) originalNotes = requireArguments().getString("notes")!! @@ -100,8 +100,7 @@ class NumberDialog : AppCompatDialogFragment() { // https://github.com/flutter/flutter/issues/61175 val currKeyboard = Settings.Secure.getString( - requireContext().contentResolver, - Settings.Secure.DEFAULT_INPUT_METHOD + requireContext().contentResolver, Settings.Secure.DEFAULT_INPUT_METHOD ) if (currKeyboard.contains("swiftkey") || currKeyboard.contains("samsung")) { view.value.inputType = EditorInfo.TYPE_CLASS_TEXT From 6e3d06cff9f99e4a639fae867644c8994dcd23dc Mon Sep 17 00:00:00 2001 From: kalina559 Date: Tue, 18 Feb 2025 22:32:48 +0100 Subject: [PATCH 3/5] Corrected formatting in the layout file --- .../src/main/res/layout/checkmark_popup.xml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/uhabits-android/src/main/res/layout/checkmark_popup.xml b/uhabits-android/src/main/res/layout/checkmark_popup.xml index 6bbd87ee0..110e5e7f5 100644 --- a/uhabits-android/src/main/res/layout/checkmark_popup.xml +++ b/uhabits-android/src/main/res/layout/checkmark_popup.xml @@ -23,32 +23,32 @@ android:id="@+id/container" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:minHeight="128dp" + android:background="@drawable/checkmark_dialog_bg" android:minWidth="208dp" - app:divider="@drawable/checkmark_dialog_divider" - app:showDividers="middle" + android:minHeight="128dp" android:orientation="vertical" - android:background="@drawable/checkmark_dialog_bg"> + app:divider="@drawable/checkmark_dialog_divider" + app:showDividers="middle"> + android:text="" + android:textSize="@dimen/smallTextSize" /> @@ -75,10 +75,10 @@ @@ -88,9 +88,9 @@ android:layout_height="match_parent" android:layout_weight="1" android:background="@color/transparent" - android:textAlignment="center" android:inputType="numberDecimal" android:selectAllOnFocus="true" + android:textAlignment="center" android:textSize="@dimen/smallTextSize" /> Date: Tue, 18 Feb 2025 23:19:20 +0100 Subject: [PATCH 4/5] Removed an unnecessary change --- .../isoron/uhabits/activities/common/dialogs/NumberDialog.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt index 20ce3024a..81eb53d21 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberDialog.kt @@ -13,7 +13,6 @@ import androidx.appcompat.app.AppCompatDialogFragment import org.isoron.uhabits.HabitsApplication import org.isoron.uhabits.R import org.isoron.uhabits.core.models.Entry -import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN import org.isoron.uhabits.databinding.CheckmarkPopupBinding import org.isoron.uhabits.utils.InterfaceUtils import org.isoron.uhabits.utils.getCenter @@ -100,7 +99,8 @@ class NumberDialog : AppCompatDialogFragment() { // https://github.com/flutter/flutter/issues/61175 val currKeyboard = Settings.Secure.getString( - requireContext().contentResolver, Settings.Secure.DEFAULT_INPUT_METHOD + requireContext().contentResolver, + Settings.Secure.DEFAULT_INPUT_METHOD ) if (currKeyboard.contains("swiftkey") || currKeyboard.contains("samsung")) { view.value.inputType = EditorInfo.TYPE_CLASS_TEXT From 76b9dd8bd9b03aabe2360c5686d0529ed35e6882 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Fri, 21 Mar 2025 21:41:23 -0500 Subject: [PATCH 5/5] Checkmark popup: Minor changes to layout --- .../src/main/res/layout/checkmark_popup.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/uhabits-android/src/main/res/layout/checkmark_popup.xml b/uhabits-android/src/main/res/layout/checkmark_popup.xml index 110e5e7f5..7661735f4 100644 --- a/uhabits-android/src/main/res/layout/checkmark_popup.xml +++ b/uhabits-android/src/main/res/layout/checkmark_popup.xml @@ -86,13 +86,18 @@ android:id="@+id/value" android:layout_width="0dp" android:layout_height="match_parent" - android:layout_weight="1" + android:layout_weight="2" android:background="@color/transparent" android:inputType="numberDecimal" android:selectAllOnFocus="true" android:textAlignment="center" android:textSize="@dimen/smallTextSize" /> + + - - \ No newline at end of file