From d385ee58de6fef84a69b1d8f48777a942543b37f Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Thu, 18 Oct 2018 10:32:13 +0300 Subject: [PATCH] save call and message history dynamically --- app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt | 2 -- app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt | 7 +++++-- app/src/main/kotlin/com/tutpro/baresip/MessagesActivity.kt | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index e61104b3..110defe6 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -451,8 +451,6 @@ class BaresipService: Service() { } private fun stop() { - CallsActivity.saveHistory() - MessagesActivity.saveMessages() MainActivity.uas.clear() MainActivity.images.clear() MainActivity.history.clear() diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index 7bc540c7..f406cf6d 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -471,6 +471,7 @@ class MainActivity : AppCompatActivity() { if (CallHistory.aorHistory(history, aor) > HISTORY_SIZE) CallHistory.aorRemoveHistory(history, aor) history.add(CallHistory(aor, peer_uri, "in", false)) + CallsActivity.saveHistory() acc.missedCalls = true if (ua == uas[aorSpinner.selectedItemPosition]) { callsButton.setImageResource(R.drawable.calls_missed) @@ -534,7 +535,10 @@ class MainActivity : AppCompatActivity() { dtmf.requestFocus() dtmf.addTextChangedListener(call.dtmfWatcher) } + if (CallHistory.aorHistory(history, aor) > HISTORY_SIZE) + CallHistory.aorRemoveHistory(history, aor) history.add(CallHistory(aor, call.peerURI, call.dir, true)) + CallsActivity.saveHistory() call.hasHistory = true if (rtTimer != null) { rtTimer!!.cancel() @@ -547,8 +551,6 @@ class MainActivity : AppCompatActivity() { // am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, // (am.getStreamMaxVolume(STREAM_VOICE_CALL) / 2) + 1, // AudioManager.STREAM_VOICE_CALL) - if (CallHistory.aorHistory(history, aor) > HISTORY_SIZE) - CallHistory.aorRemoveHistory(history, aor) } "call verify" -> { val callp = params[1] @@ -639,6 +641,7 @@ class MainActivity : AppCompatActivity() { if (CallHistory.aorHistory(history, aor) > HISTORY_SIZE) CallHistory.aorRemoveHistory(history, aor) history.add(CallHistory(aor, call.peerURI, call.dir,false)) + CallsActivity.saveHistory() if (call.dir == "in") { acc.missedCalls = true if (ua == uas[aorSpinner.selectedItemPosition]) diff --git a/app/src/main/kotlin/com/tutpro/baresip/MessagesActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MessagesActivity.kt index 88576bd9..614cda0b 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MessagesActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MessagesActivity.kt @@ -61,6 +61,7 @@ class MessagesActivity: AppCompatActivity() { } DialogInterface.BUTTON_NEGATIVE -> { MainActivity.messages.remove(uaMessages[pos]) + saveMessages() uaMessages.removeAt(pos) if (uaMessages.size == 0) { val i = Intent() @@ -180,6 +181,7 @@ class MessagesActivity: AppCompatActivity() { if ((MainActivity.messages[i].aor == aor) && (MainActivity.messages[i].timeStamp == time)) { MainActivity.messages[i].new = false + saveMessages() return } } @@ -189,6 +191,7 @@ class MessagesActivity: AppCompatActivity() { if ((MainActivity.messages[i].aor == aor) && (MainActivity.messages[i].timeStamp == time)) { MainActivity.messages.removeAt(i) + saveMessages() return } } @@ -202,6 +205,7 @@ class MessagesActivity: AppCompatActivity() { break } MainActivity.messages.add(message) + saveMessages() } fun saveMessages() {