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