diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt index ef7ef3e7..d3c233c4 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.fragment_import.* import kotlinx.coroutines.Dispatchers @@ -14,9 +15,7 @@ import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.util.csv.CSVImporter import net.pokeranalytics.android.util.csv.ImportDelegate -import net.pokeranalytics.android.util.csv.ImportException import timber.log.Timber -import java.io.IOException import java.io.InputStream import java.text.NumberFormat import java.util.* @@ -76,7 +75,7 @@ class ImportFragment : RealmFragment(), ImportDelegate { this.importer = CSVImporter(inputStream) this.importer.delegate = this - var error = false + var exception: Exception? = null GlobalScope.launch(coroutineContext) { @@ -86,11 +85,8 @@ class ImportFragment : RealmFragment(), ImportDelegate { try { importer.start() - } catch (e: ImportException) { -// shouldDismissActivity = true - error = true - } catch (e: IOException) { - error = true + } catch (e: Exception) { + exception = e } val e = Date() val duration = (e.time - s.time) / 1000.0 @@ -99,12 +95,15 @@ class ImportFragment : RealmFragment(), ImportDelegate { } test.await() - if (error && view != null) { - Snackbar.make(view!!, R.string.import_error, Snackbar.LENGTH_INDEFINITE).show() + val exceptionMessage = exception?.message + if (exceptionMessage != null && view != null) { + val message = exceptionMessage + ". " + requireContext().getString(R.string.import_error) + val snackBar = Snackbar.make(view!!, message, Snackbar.LENGTH_INDEFINITE) + val textView = snackBar.view.findViewById(com.google.android.material.R.id.snackbar_text) + textView.maxLines = 4 + snackBar.show() } - - // if (shouldDismissActivity) { // // activity?.let {