diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectSIMDialog.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectSIMDialog.kt index 34bbdb2c..52e84ec5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectSIMDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectSIMDialog.kt @@ -15,7 +15,12 @@ import com.simplemobiletools.dialer.extensions.getAvailableSIMCardLabels import kotlinx.android.synthetic.main.dialog_select_sim.view.* @SuppressLint("MissingPermission") -class SelectSIMDialog(val activity: BaseSimpleActivity, val phoneNumber: String, val callback: (handle: PhoneAccountHandle?) -> Unit) { +class SelectSIMDialog( + val activity: BaseSimpleActivity, + val phoneNumber: String, + onDismiss: () -> Unit = {}, + val callback: (handle: PhoneAccountHandle?) -> Unit +) { private var dialog: AlertDialog? = null private val view = activity.layoutInflater.inflate(R.layout.dialog_select_sim, null) @@ -42,6 +47,10 @@ class SelectSIMDialog(val activity: BaseSimpleActivity, val phoneNumber: String, dialog = alertDialog } } + + dialog?.setOnDismissListener { + onDismiss() + } } private fun selectedSIM(handle: PhoneAccountHandle, label: String) { diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt index cb665ed7..e3dd9a09 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt @@ -83,7 +83,11 @@ fun SimpleActivity.getHandleToUse(intent: Intent?, phoneNumber: String, callback } defaultHandle != null -> callback(defaultHandle) else -> { - SelectSIMDialog(this, phoneNumber) { handle -> + SelectSIMDialog(this, phoneNumber, onDismiss = { + if (this is DialerActivity) { + finish() + } + }) { handle -> callback(handle) } }