From 29fff4fa13f58681b101172bf79e86cde69bd2ba Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Tue, 25 Jan 2022 10:23:53 +0200 Subject: [PATCH] Handle message rerponse already in baresip service --- .../com/tutpro/baresip/BaresipService.kt | 24 +++++++++++++++---- .../kotlin/com/tutpro/baresip/ChatActivity.kt | 20 +--------------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 30abed8b..589c63bd 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -960,11 +960,25 @@ class BaresipService: Service() { @Suppress("UNUSED") fun messageResponse(responseCode: Int, responseReason: String, time: String) { Log.d(TAG, "Message response '$responseCode $responseReason' at $time") - val intent = Intent("message response") - intent.putExtra("response code", responseCode) - intent.putExtra("response reason", responseReason) - intent.putExtra("time", time) - LocalBroadcastManager.getInstance(this).sendBroadcast(intent) + val timeStamp = time.toLong() + for (m in messages.reversed()) + if (m.timeStamp == timeStamp) { + if (responseCode < 300) { + m.direction = R.drawable.arrow_up_green + } else { + m.direction = R.drawable.arrow_up_red + m.responseCode = responseCode + m.responseReason = responseReason + } + break + } + if (Utils.isVisible()) { + val intent = Intent("message response") + intent.putExtra("response code", responseCode) + intent.putExtra("response reason", responseReason) + intent.putExtra("time", time) + LocalBroadcastManager.getInstance(this).sendBroadcast(intent) + } } @Keep diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt index 6e8c193e..a65ece3e 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt @@ -161,9 +161,7 @@ class ChatActivity : AppCompatActivity() { messageResponseReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - handleMessageResponse(intent.getIntExtra("response code", 0), - intent.getStringExtra("response reason")!!, - intent.getStringExtra("time")!!) + mlAdapter.notifyDataSetChanged() } } @@ -274,20 +272,4 @@ class ChatActivity : AppCompatActivity() { return res } - private fun handleMessageResponse(responseCode: Int, responseReason: String, time: String) { - val timeStamp = time.toLong() - for (m in chatMessages.reversed()) - if (m.timeStamp == timeStamp) { - if (responseCode < 300) { - m.direction = R.drawable.arrow_up_green - } else { - m.direction = R.drawable.arrow_up_red - m.responseCode = responseCode - m.responseReason = responseReason - } - mlAdapter.notifyDataSetChanged() - return - } - } - }