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 acfd694d..f43ad7b3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt @@ -12,6 +12,7 @@ import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.SimpleContact +import com.simplemobiletools.dialer.activities.DialerActivity import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.dialogs.SelectSIMDialog @@ -83,7 +84,9 @@ 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) } }