Skip to content
Snippets Groups Projects
Commit 4649f14f authored by Taras's avatar Taras
Browse files

Setup initial post data in preview

parent 3e5b3098
No related branches found
No related tags found
No related merge requests found
...@@ -5,20 +5,21 @@ import androidx.lifecycle.SavedStateHandle ...@@ -5,20 +5,21 @@ import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
import org.futo.circles.core.extensions.getOrThrow import org.futo.circles.core.extensions.getOrThrow
import org.futo.circles.core.provider.MatrixSessionProvider import org.futo.circles.core.model.PostContent
import org.matrix.android.sdk.api.session.getRoom import org.futo.circles.core.timeline.post.PostContentDataSource
import org.matrix.android.sdk.api.session.room.getTimelineEvent
import org.matrix.android.sdk.api.session.room.timeline.getTextEditableContent
import javax.inject.Inject import javax.inject.Inject
@HiltViewModel @HiltViewModel
class CreatePostViewModel @Inject constructor(savedStateHandle: SavedStateHandle) : ViewModel() { class CreatePostViewModel @Inject constructor(
savedStateHandle: SavedStateHandle,
private val postContentDataSource: PostContentDataSource
) : ViewModel() {
private val roomId: String = savedStateHandle.getOrThrow("roomId") private val roomId: String = savedStateHandle.getOrThrow("roomId")
private val eventId: String? = savedStateHandle["eventId"] private val eventId: String? = savedStateHandle["eventId"]
private val isEdit: Boolean = savedStateHandle.getOrThrow("isEdit") private val isEdit: Boolean = savedStateHandle.getOrThrow("isEdit")
val textToEditLiveData = MutableLiveData<String>() val postToEditContentLiveData = MutableLiveData<PostContent>()
init { init {
if (isEdit) setEditPostInfo() if (isEdit) setEditPostInfo()
...@@ -26,9 +27,7 @@ class CreatePostViewModel @Inject constructor(savedStateHandle: SavedStateHandle ...@@ -26,9 +27,7 @@ class CreatePostViewModel @Inject constructor(savedStateHandle: SavedStateHandle
private fun setEditPostInfo() { private fun setEditPostInfo() {
eventId ?: return eventId ?: return
val session = MatrixSessionProvider.currentSession val content = postContentDataSource.getPostContent(roomId, eventId) ?: return
val room = session?.getRoom(roomId) ?: return postToEditContentLiveData.value = content
val event = room.getTimelineEvent(eventId) ?: return
textToEditLiveData.postValue(event.getTextEditableContent(false))
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment