diff --git a/app/src/main/kotlin/com/tutpro/baresip/CallHistory.kt b/app/src/main/kotlin/com/tutpro/baresip/CallHistory.kt index 502123ca..b66e6df2 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/CallHistory.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/CallHistory.kt @@ -31,7 +31,8 @@ class CallHistory(val aor: String, val peerURI: String, val direction: String, } fun clear(aor: String) { - BaresipService.history = ArrayList(BaresipService.history.filter{it.aor != aor}) + val it = BaresipService.history.iterator() + while (it.hasNext()) if (it.next().aor == aor) it.remove() } fun aorHistorySize(aor: String): Int { diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt index b96de70a..7125a9fa 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt @@ -158,7 +158,7 @@ class ChatsActivity: AppCompatActivity() { deleteDialog.setMessage(String.format(getString(R.string.delete_chats_alert), aor.substringAfter(":"))) deleteDialog.setPositiveButton(getText(R.string.delete)) { dialog, _ -> - BaresipService.messages = ArrayList(BaresipService.messages.filter{it.aor != aor}) + Message.clear(aor) Message.saveMessages() uaMessages.clear() clAdapter.notifyDataSetChanged() diff --git a/app/src/main/kotlin/com/tutpro/baresip/Message.kt b/app/src/main/kotlin/com/tutpro/baresip/Message.kt index 4953515f..7569434e 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Message.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Message.kt @@ -31,6 +31,11 @@ class Message(val aor: String, val peerUri: String, val message: String, val tim BaresipService.messages.removeAt(firstIndex) } + fun clear(aor: String) { + val it = BaresipService.messages.iterator() + while (it.hasNext()) if (it.next().aor == aor) it.remove() + } + fun saveMessages() { val file = File(BaresipService.filesPath, "messages") try {