From 381c67d0202ffa6eb735392f62b3521dd861010d Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Thu, 18 Mar 2021 21:52:43 -0500 Subject: [PATCH] Allow unitless numerical habits --- .../list/NumberButtonView/render_unitless.png | Bin 0 -> 1125 bytes .../habits/list/views/NumberButtonViewTest.kt | 7 +++++++ .../activities/habits/edit/EditHabitActivity.kt | 4 ---- .../habits/list/views/NumberButtonView.kt | 15 ++++++++++----- 4 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_unitless.png diff --git a/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_unitless.png b/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_unitless.png new file mode 100644 index 0000000000000000000000000000000000000000..cf16db61f69fcde4cef2e1b01530250769dae922 GIT binary patch literal 1125 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|$mRERaSW-L^Y*51hD@r=@sIE8%O>X?5nI}_OexBRb?PH&T@ih)og7_N9~LdB z=uB|!keXapEzwhXIY=`puzHn7hj{nF=86viSHxV`C^dy;WEKhiD zCx20Wqjp~FkDb8>oAY-2)2CG$eYUY?6vPcC{#VZaDxPtJz5j_t)#IxnX~k2xj(0r% zwCUM2&uq1XEk6{F&7S`5MgL{{Kbgxk`?yP{{4O+0zGiv-y~z!^nlx$VW(T5`cUd{U6p^klbYCZR<5aq8!YyAFl-a5VEgo2;@+mJgD<7dvR;_QX>iSK%4?19 z$tCeAcfLMZG}n6?_X5}QhS;go{+i#ZI#>PVr`}7T0e9wkC)=^+EV8O*{@{JLqJPug zirmXP9X>7e=V;h$7Fm0T&+x;iciw4SPpb{0r(Wre{lfp2J)z{a_l&nQe;=6fvAtog z?^CACt5Os0F+MvkK7C{KX6GBzJuSQJ=3oEW_pCT^O9t8lhgdfbyT)AoT#edn8cKv)*Z!&9Xt@K&eOHG^+ACq%uzkL6=PGa-#7xGcQ zSMIUa%>81_74fd~!F~M=A8uc`_d{hv^*fKRM~_SDeoK1eee2FUHn!)d_Pr2Sk1IDf zoyEPx_4Wns9YvoUz6CzHetoL<%zef`ziiUmaU^W}1)vii?>A-i-y3_-GW7Z;Bi*QP zsWZbbv3}lq@6DskICHnfI}HxmHy!KhZ(Q&HD)2YouSd7~H*T-GWf8eO*Th@DpZf{7^jmG548pGV_PR zwKBPL$|p7ZK4;>zXPo%K*f5nTT#X^V)Xalyh6_-4+(HJ^mEcw_H-P zqTT5s%hFR0YNoHx0yXVt6Y+by^q=mMLiMYk-iKH%Yxq66>^tYVZF^^5d0Zj&+5FO+ zQX$uNjZn30`zQa-8lJm0asI4xtU`56^J@3DxbrjDFY8T9$o0HBlX0F(-}#hHft3Q^ z*Be=`-raq-|58|ax#?`~1*W?fG#-4vvOxO7y*o$!EZI9(-R0q_-=uJT``>)M?DuSC zsoSRei9UDEd8Ri{{#WVABE~KM=6_1oU)QoNdP7#9hSf1{XLqr=v(Mi35qY{ItUm4a ji6@($x!?xRezJ>wUMx_$TjeaUs9^AP^>bP0l+XkKs^1m8 literal 0 HcmV?d00001 diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt index ba417feae..6f1923aaa 100644 --- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt +++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt @@ -73,6 +73,13 @@ class NumberButtonViewTest : BaseViewTest() { assertRenders(view, "$PATH/render_above.png") } + @Test + fun testRender_emptyUnits() { + view.value = 500.0 + view.units = "" + assertRenders(view, "$PATH/render_unitless.png") + } + @Test fun testRender_belowThreshold() { view.value = 99.0 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 d6e73bcfe..6c8b5c702 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 @@ -275,10 +275,6 @@ class EditHabitActivity : AppCompatActivity() { isValid = false } if (habitType == Habit.NUMBER_HABIT) { - if (unitInput.text.isEmpty()) { - unitInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank) - isValid = false - } if (targetInput.text.isEmpty()) { targetInput.error = getString(R.string.validation_cannot_be_blank) isValid = false diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt index b7517b97b..f4f7cc4ac 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt @@ -186,11 +186,16 @@ class NumberButtonView( pNumber.typeface = typeface pUnit.color = activeColor - rect.set(0f, 0f, width.toFloat(), height.toFloat()) - canvas.drawText(label, rect.centerX(), rect.centerY(), pNumber) - - rect.offset(0f, 1.3f * em) - canvas.drawText(units, rect.centerX(), rect.centerY(), pUnit) + if (units.isBlank()) { + rect.set(0f, 0f, width.toFloat(), height.toFloat()) + rect.offset(0f, 0.5f * em) + canvas.drawText(label, rect.centerX(), rect.centerY(), pNumber) + } else { + rect.set(0f, 0f, width.toFloat(), height.toFloat()) + canvas.drawText(label, rect.centerX(), rect.centerY(), pNumber) + rect.offset(0f, 1.3f * em) + canvas.drawText(units, rect.centerX(), rect.centerY(), pUnit) + } } } }