From f4c8e38433827964680464d09a04c65afcb7caac Mon Sep 17 00:00:00 2001 From: 7LPdWcaW <7LPdWcaW@gmail.com> Date: Sat, 29 Jun 2019 16:45:26 +0100 Subject: [PATCH] Adds save int parse for to/from date and changes input type to signed --- .../fragment/ScheduleDateDetailsFragment.kt | 8 +++----- .../main/java/me/anon/lib/ExportCallback.java | 5 ----- app/src/main/java/me/anon/lib/ext/IntUtils.kt | 20 +++++++++++++++++++ .../res/layout/schedule_date_details_view.xml | 4 ++-- 4 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/me/anon/lib/ext/IntUtils.kt diff --git a/app/src/main/java/me/anon/grow/fragment/ScheduleDateDetailsFragment.kt b/app/src/main/java/me/anon/grow/fragment/ScheduleDateDetailsFragment.kt index e5f605f8..c76df8cc 100644 --- a/app/src/main/java/me/anon/grow/fragment/ScheduleDateDetailsFragment.kt +++ b/app/src/main/java/me/anon/grow/fragment/ScheduleDateDetailsFragment.kt @@ -15,14 +15,12 @@ import android.widget.TextView import kotlinx.android.synthetic.main.schedule_date_details_view.* import me.anon.grow.R import me.anon.lib.Unit +import me.anon.lib.ext.toSafeInt import me.anon.lib.manager.ScheduleManager import me.anon.model.Additive import me.anon.model.FeedingScheduleDate import me.anon.model.PlantStage -/** - * // TODO: Add class description - */ class ScheduleDateDetailsFragment : Fragment() { companion object @@ -110,8 +108,8 @@ class ScheduleDateDetailsFragment : Fragment() return@setOnClickListener } - val fromDate = from_date.text.toString().toInt() - val toDate = if (to_date.text.isEmpty()) fromDate else to_date.text.toString().toInt() + val fromDate = from_date.text.toString().toSafeInt() + val toDate = if (to_date.text.isEmpty()) fromDate else to_date.text.toString().toSafeInt() val fromStage = PlantStage.valueOfPrintString(from_stage.selectedItem as String)!! val toStage = PlantStage.valueOfPrintString(to_stage.selectedItem as String)!! diff --git a/app/src/main/java/me/anon/lib/ExportCallback.java b/app/src/main/java/me/anon/lib/ExportCallback.java index 77b1860e..2eee26a1 100644 --- a/app/src/main/java/me/anon/lib/ExportCallback.java +++ b/app/src/main/java/me/anon/lib/ExportCallback.java @@ -5,11 +5,6 @@ import java.io.File; -/** - * // TODO: Add class description - * - * @author Callum Taylor - */ public class ExportCallback { @WorkerThread diff --git a/app/src/main/java/me/anon/lib/ext/IntUtils.kt b/app/src/main/java/me/anon/lib/ext/IntUtils.kt new file mode 100644 index 00000000..6d16e4d3 --- /dev/null +++ b/app/src/main/java/me/anon/lib/ext/IntUtils.kt @@ -0,0 +1,20 @@ +package me.anon.lib.ext + +import java.lang.Exception + +public fun String?.toSafeInt(): Int +{ + try + { + if (this?.indexOf('.') ?: -1 > -1) + { + return this?.toDouble()?.toInt() ?: 0 + } + + return this?.toInt() ?: 0 + } + catch (e: Exception) + { + return 0 + } +} diff --git a/app/src/main/res/layout/schedule_date_details_view.xml b/app/src/main/res/layout/schedule_date_details_view.xml index 00ac4f49..2b84d987 100644 --- a/app/src/main/res/layout/schedule_date_details_view.xml +++ b/app/src/main/res/layout/schedule_date_details_view.xml @@ -69,7 +69,7 @@ android:layout_height="wrap_content" android:id="@+id/from_date" android:hint="15" - android:inputType="numberDecimal" + android:inputType="numberSigned" android:layout_gravity="bottom" android:nextFocusDown="@+id/description" style="@style/SubsectionSubTitle" @@ -129,7 +129,7 @@ android:layout_height="wrap_content" android:id="@+id/to_date" android:hint="15" - android:inputType="numberDecimal" + android:inputType="numberSigned" android:layout_gravity="bottom" android:nextFocusDown="@+id/description" style="@style/SubsectionSubTitle"