From 2079159293601f2fdd497f6899e071af54274ea8 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Mon, 31 Jul 2023 15:47:20 +0300
Subject: [PATCH] Implement edit post in view model

---
 .../feature/timeline/TimelineDialogFragment.kt      |  4 ++--
 .../circles/feature/timeline/TimelineViewModel.kt   | 13 ++++++++++---
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
index adadd82a9..7a5bef7c6 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
@@ -207,8 +207,8 @@ class TimelineDialogFragment : BaseFullscreenDialogFragment(DialogFragmentTimeli
         viewModel.sendPost(roomId, postContent, threadEventId)
     }
 
-    override fun onEditTextPost(roomId: String, newMessage: String, eventId: String) {
-        viewModel.editTextPost(eventId, roomId, newMessage)
+    override fun onEditPost(roomId: String, postContent: CreatePostContent, eventId: String) {
+        viewModel.editPost(eventId, roomId, postContent)
     }
 
     override fun onCreatePoll(roomId: String, pollContent: CreatePollContent) {
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
index 82a729e97..2fe704f99 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
@@ -9,7 +9,6 @@ import org.futo.circles.core.model.CreatePollContent
 import org.futo.circles.core.model.PostContent
 import org.futo.circles.core.model.ShareableContent
 import org.futo.circles.core.provider.MatrixSessionProvider
-import org.futo.circles.core.room.leave.LeaveRoomDataSource
 import org.futo.circles.core.timeline.BaseTimelineViewModel
 import org.futo.circles.core.timeline.TimelineDataSource
 import org.futo.circles.core.timeline.post.PostOptionsDataSource
@@ -87,8 +86,16 @@ class TimelineViewModel @Inject constructor(
         }
     }
 
-    fun editTextPost(eventId: String, roomId: String, newMessage: String) {
-        sendMessageDataSource.editTextMessage(eventId, roomId, newMessage)
+    fun editPost(eventId: String, roomId: String, postContent: CreatePostContent) {
+        when (postContent) {
+            is MediaPostContent -> postContent.caption?.let {
+                sendMessageDataSource.editMediaCaption(eventId, roomId, postContent.caption)
+            }
+
+            is TextPostContent -> sendMessageDataSource.editTextMessage(
+                eventId, roomId, postContent.text
+            )
+        }
     }
 
     fun createPoll(roomId: String, pollContent: CreatePollContent) {
-- 
GitLab