From 25e5119822efc2f2dc749147957bf57548db8191 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 22 Feb 2021 15:37:14 +0100 Subject: [PATCH] Block the possibility to give an empty report name --- .../ui/fragment/report/AbstractReportFragment.kt | 14 ++++++++++++-- app/src/main/res/values-fr/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt index 8b214d3d..738e3889 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt @@ -5,8 +5,10 @@ import android.text.InputType import android.view.View import android.view.inputmethod.InputMethodManager import android.widget.EditText +import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat +import net.pokeranalytics.android.R import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.exceptions.PAIllegalStateException @@ -80,8 +82,12 @@ abstract class AbstractReportFragment : DataManagerFragment() { builder.setView(view) // Add action buttons .setPositiveButton(net.pokeranalytics.android.R.string.save) { dialog, _ -> - saveReport(nameEditText.text.toString()) - dialog.dismiss() + try { + saveReport(nameEditText.text.toString()) + dialog.dismiss() + } catch (e: Exception) { + Toast.makeText(requireContext(), e.localizedMessage, Toast.LENGTH_SHORT).show() + } } .setNegativeButton(net.pokeranalytics.android.R.string.cancel) { dialog, _ -> dialog.cancel() @@ -109,6 +115,10 @@ abstract class AbstractReportFragment : DataManagerFragment() { private fun saveReport(name: String) { + if (name.isEmpty()) { + throw PAIllegalStateException(getString(R.string.report_name_cannot_be_empty)) + } + this.reportViewModel.title = name val rs = this.model.item as ReportSetup getRealm().executeTransaction { realm -> diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 424fd59b..24375574 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -770,4 +770,6 @@ We\'ve opened our Discord channel! Come to hang out, talk about poker or about the app! Good for you! + Veuillez donner un nom au rapport + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 64656e8d..a0140a7b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -817,5 +817,6 @@ estimated You can change the DHPH (Dealt Hands Per Hour) values here. It corresponds to the total number of hands all players receives at a table in one hour. Example: Your local 10-max game deals 25 hands per hour, enter 10 x 25 = 250. Dealt hands per hour + You need to give a name to the report