From 21365e3b968d3820fbb25bfdf0010d79ef1d0cf7 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Tue, 19 Oct 2021 16:33:49 +0200 Subject: [PATCH] Exit on pressing Back --- .../smsmessenger/activities/MainActivity.kt | 10 ++++++---- .../smsmessenger/activities/ThreadActivity.kt | 12 ++++++++++++ .../smsmessenger/extensions/Context.kt | 1 + .../smsmessenger/helpers/Constants.kt | 3 +++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/MainActivity.kt index 2a66fa41..7e23f74f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/MainActivity.kt @@ -23,10 +23,7 @@ import com.simplemobiletools.smsmessenger.adapters.ConversationsAdapter import com.simplemobiletools.smsmessenger.dialogs.ExportMessagesDialog import com.simplemobiletools.smsmessenger.dialogs.ImportMessagesDialog import com.simplemobiletools.smsmessenger.extensions.* -import com.simplemobiletools.smsmessenger.helpers.EXPORT_MIME_TYPE -import com.simplemobiletools.smsmessenger.helpers.MessagesExporter -import com.simplemobiletools.smsmessenger.helpers.THREAD_ID -import com.simplemobiletools.smsmessenger.helpers.THREAD_TITLE +import com.simplemobiletools.smsmessenger.helpers.* import com.simplemobiletools.smsmessenger.models.Conversation import com.simplemobiletools.smsmessenger.models.Events import kotlinx.android.synthetic.main.activity_main.* @@ -84,6 +81,11 @@ class MainActivity : SimpleActivity() { override fun onResume() { super.onResume() + + if (intent.getBooleanExtra(EXIT, false)) { + finish() + return + } if (storedTextColor != config.textColor) { (conversations_list.adapter as? ConversationsAdapter)?.updateTextColor(config.textColor) } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index d94bd05c..fc6b6791 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -179,6 +179,18 @@ class ThreadActivity : SimpleActivity() { finish() } + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { + if (keyCode == KeyEvent.KEYCODE_BACK && intent.getBooleanExtra(FROM_NOTIFICATION, false)) { + val intent = Intent(this@ThreadActivity, MainActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_CLEAR_TOP + putExtra(EXIT, true) + } + startActivity(intent) + finish() + } + return super.onKeyDown(keyCode, event) + } + private fun setupCachedMessages(callback: () -> Unit) { ensureBackgroundThread { messages = try { diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt index c67adaf8..76ef27af 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt @@ -711,6 +711,7 @@ fun Context.showMessageNotification(address: String, body: String, threadId: Lon val intent = Intent(this, ThreadActivity::class.java).apply { putExtra(THREAD_ID, threadId) + putExtra(FROM_NOTIFICATION, true) } val pendingIntent = PendingIntent.getActivity(this, threadId.hashCode(), intent, PendingIntent.FLAG_UPDATE_CURRENT) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt index b18c19c8..6e3a6477 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt @@ -26,6 +26,9 @@ const val EXPORT_FILE_EXT = ".json" const val IMPORT_SMS = "import_sms" const val IMPORT_MMS = "import_mms" +const val EXIT = "EXIT" +const val FROM_NOTIFICATION = "FROM_NOTIFICATION" + private const val PATH = "com.simplemobiletools.smsmessenger.action." const val MARK_AS_READ = PATH + "mark_as_read" const val REPLY = PATH + "reply"