1
0
mirror of https://github.com/etesync/android synced 2025-08-05 13:25:21 +00:00

Import: make it easy to report import issues to devs.

This commit is contained in:
Tom Hacohen 2019-08-06 13:13:57 +01:00
parent d1d08658f9
commit 9018b6cdd0
2 changed files with 21 additions and 17 deletions

View File

@ -6,6 +6,7 @@ import android.os.Bundle
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import com.etesync.syncadapter.R import com.etesync.syncadapter.R
import org.acra.ACRA
import java.io.Serializable import java.io.Serializable
/** /**
@ -30,26 +31,28 @@ class ResultFragment : DialogFragment() {
} }
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val icon: Int
val title: Int
val msg: String
if (result!!.isFailed) { if (result!!.isFailed) {
icon = R.drawable.ic_error_dark return AlertDialog.Builder(activity!!)
title = R.string.import_dialog_failed_title .setTitle(R.string.import_dialog_failed_title)
msg = result!!.e!!.localizedMessage .setIcon(R.drawable.ic_error_dark)
.setMessage(getString(R.string.import_dialog_failed_body, result!!.e!!.localizedMessage))
.setNegativeButton(android.R.string.no) { dialog, which ->
// dismiss
}
.setPositiveButton(android.R.string.yes) { dialog, which ->
ACRA.getErrorReporter().handleSilentException(result!!.e)
}
.create()
} else { } else {
icon = R.drawable.ic_import_export_black return AlertDialog.Builder(activity!!)
title = R.string.import_dialog_title .setTitle(R.string.import_dialog_title)
msg = getString(R.string.import_dialog_success, result!!.total, result!!.added, result!!.updated, result!!.skipped) .setIcon(R.drawable.ic_import_export_black)
.setMessage(getString(R.string.import_dialog_success, result!!.total, result!!.added, result!!.updated, result!!.skipped))
.setPositiveButton(android.R.string.ok) { dialog, which ->
// dismiss
}
.create()
} }
return AlertDialog.Builder(activity!!)
.setTitle(title)
.setIcon(icon)
.setMessage(msg)
.setPositiveButton(android.R.string.ok) { dialog, which ->
// dismiss
}
.create()
} }
class ImportResult : Serializable { class ImportResult : Serializable {

View File

@ -240,6 +240,7 @@
<!-- ImportFragment --> <!-- ImportFragment -->
<string name="import_dialog_title">Import</string> <string name="import_dialog_title">Import</string>
<string name="import_dialog_failed_title">Import Failed</string> <string name="import_dialog_failed_title">Import Failed</string>
<string name="import_dialog_failed_body">Reason: %s\nReport to developers?</string>
<string name="import_dialog_loading_file">Loading file (may take a while)...</string> <string name="import_dialog_loading_file">Loading file (may take a while)...</string>
<string name="import_dialog_adding_entries">Adding entries...</string> <string name="import_dialog_adding_entries">Adding entries...</string>
<string name="import_dialog_success">Processed %1$d entries.\nAdded: %2$d\nChanged: %3$d\nSkipped (failed): %4$d</string> <string name="import_dialog_success">Processed %1$d entries.\nAdded: %2$d\nChanged: %3$d\nSkipped (failed): %4$d</string>