diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ExportContactsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ExportContactsDialog.kt index c02a4516..7939b743 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ExportContactsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ExportContactsDialog.kt @@ -16,6 +16,7 @@ import java.util.* class ExportContactsDialog(val activity: SimpleActivity, val path: String, private val callback: (file: File, ignoredContactSources: HashSet) -> Unit) { private var contactSources = ArrayList() + private var ignoreClicks = false init { val view = (activity.layoutInflater.inflate(R.layout.dialog_export_contacts, null) as ViewGroup).apply { @@ -36,7 +37,7 @@ class ExportContactsDialog(val activity: SimpleActivity, val path: String, priva .create().apply { activity.setupDialogStuff(view, this, R.string.export_contacts) { getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { - if (view.export_contacts_list.adapter == null) { + if (view.export_contacts_list.adapter == null || ignoreClicks) { return@setOnClickListener } @@ -50,6 +51,7 @@ class ExportContactsDialog(val activity: SimpleActivity, val path: String, priva return@setOnClickListener } + ignoreClicks = true ensureBackgroundThread { val selectedSources = (view.export_contacts_list.adapter as FilterContactSourcesAdapter).getSelectedContactSources() val ignoredSources = contactSources.filter { !selectedSources.contains(it) }.map { it.getFullIdentifier() }.toHashSet() diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ImportContactsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ImportContactsDialog.kt index 3eb9a0d6..a8157579 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ImportContactsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ImportContactsDialog.kt @@ -18,6 +18,7 @@ import kotlinx.android.synthetic.main.dialog_import_contacts.view.* class ImportContactsDialog(val activity: SimpleActivity, val path: String, private val callback: (refreshView: Boolean) -> Unit) { private var targetContactSource = "" + private var ignoreClicks = false init { val view = (activity.layoutInflater.inflate(R.layout.dialog_import_contacts, null) as ViewGroup).apply { @@ -53,6 +54,11 @@ class ImportContactsDialog(val activity: SimpleActivity, val path: String, priva .create().apply { activity.setupDialogStuff(view, this, R.string.import_contacts) { getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { + if (ignoreClicks) { + return@setOnClickListener + } + + ignoreClicks = true activity.toast(R.string.importing) ensureBackgroundThread { val result = VcfImporter(activity).importContacts(path, targetContactSource)