From db52fba78c09bf00b1e816803ceca0387a01b32a Mon Sep 17 00:00:00 2001
From: ialokim <ialokim@mailbox.org>
Date: Thu, 3 Nov 2022 22:57:14 +0100
Subject: [PATCH] move GroupAddedEvent handling to separate function

---
 .../briar/desktop/forums/ForumViewModel.kt    | 25 ++++++++++---------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
index 7a10cd6438..a2bd6d3b8c 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
@@ -85,17 +85,8 @@ class ForumViewModel @Inject constructor(
 
     override fun eventOccurred(e: Event) {
         when {
-            e is GroupAddedEvent && e.group.clientId == ForumManager.CLIENT_ID -> {
-                runOnDbThreadWithTransaction(true) { txn ->
-                    val item = ForumItem(
-                        forum = forumManager.getForum(txn, e.group.id),
-                        groupCount = forumManager.getGroupCount(txn, e.group.id),
-                    )
-                    txn.attach {
-                        addItem(item)
-                    }
-                }
-            }
+            e is GroupAddedEvent && e.group.clientId == ForumManager.CLIENT_ID ->
+                onGroupAdded(e.group.id)
 
             e is GroupRemovedEvent && e.group.clientId == ForumManager.CLIENT_ID -> {
                 removeItem(e.group.id)
@@ -108,6 +99,16 @@ class ForumViewModel @Inject constructor(
         }
     }
 
+    private fun onGroupAdded(id: GroupId) = runOnDbThreadWithTransaction(true) { txn ->
+        val item = ForumItem(
+            forum = forumManager.getForum(txn, id),
+            groupCount = forumManager.getGroupCount(txn, id),
+        )
+        txn.attach {
+            addItem(item)
+        }
+    }
+
     fun createForum(name: String) = runOnDbThread {
         forumManager.addForum(name)
     }
@@ -135,7 +136,7 @@ class ForumViewModel @Inject constructor(
         _filterBy.value = filter
     }
 
-    fun addOwnPost(header: ForumPostHeader) {
+    private fun addOwnPost(header: ForumPostHeader) {
         selectedGroupItem.value?.id?.let { id -> updateItem(id) { it.updateOnPostReceived(header) } }
     }
 
-- 
GitLab