From 970c2ad66dda0501401b1ed1aa3c6f948fc45605 Mon Sep 17 00:00:00 2001 From: ismailnurudeen Date: Fri, 10 Feb 2023 13:25:49 +0100 Subject: [PATCH 1/2] fix: close dialer activity if SelectSIMDialog is dismissed. --- .../dialer/dialogs/SelectSIMDialog.kt | 11 ++++++++++- .../simplemobiletools/dialer/extensions/Activity.kt | 5 ++++- 2 files changed, 14 insertions(+), 2 deletions(-) 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) } } From e6ea3a0ebcf2ae1c37dcdd5c4bbb2dabf0fcbda0 Mon Sep 17 00:00:00 2001 From: ismailnurudeen Date: Fri, 10 Feb 2023 14:11:53 +0100 Subject: [PATCH 2/2] refactor: adjust for code style --- .../com/simplemobiletools/dialer/extensions/Activity.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 f43ad7b3..3492ef79 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Activity.kt @@ -85,7 +85,9 @@ fun SimpleActivity.getHandleToUse(intent: Intent?, phoneNumber: String, callback defaultHandle != null -> callback(defaultHandle) else -> { SelectSIMDialog(this, phoneNumber, onDismiss = { - if(this is DialerActivity) finish() + if (this is DialerActivity) { + finish() + } }) { handle -> callback(handle) }