Skip to content

Commit 6473e00

Browse files
committed
fixing edit view state after PR 5608
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
1 parent 633c6a0 commit 6473e00

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,12 @@ import androidx.core.view.isVisible
4343
import androidx.core.widget.doAfterTextChanged
4444
import androidx.emoji2.widget.EmojiTextView
4545
import androidx.fragment.app.Fragment
46+
import androidx.lifecycle.Lifecycle
4647
import androidx.lifecycle.LifecycleOwner
4748
import androidx.lifecycle.LiveData
4849
import androidx.lifecycle.Observer
4950
import androidx.lifecycle.lifecycleScope
51+
import androidx.lifecycle.repeatOnLifecycle
5052
import autodagger.AutoInjector
5153
import coil.Coil.imageLoader
5254
import coil.load
@@ -154,7 +156,6 @@ class MessageInputFragment : Fragment() {
154156
if (mentionAutocomplete != null && mentionAutocomplete!!.isPopupShowing) {
155157
mentionAutocomplete?.dismissPopup()
156158
}
157-
clearEditUI()
158159
}
159160

160161
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -219,8 +220,12 @@ class MessageInputFragment : Fragment() {
219220
} ?: clearReplyUi()
220221
}
221222

222-
chatActivity.messageInputViewModel.getEditChatMessage.observe(viewLifecycleOwner) { message ->
223-
message?.let { setEditUI(it as ChatMessage) }
223+
viewLifecycleOwner.lifecycleScope.launch {
224+
repeatOnLifecycle(Lifecycle.State.CREATED) {
225+
chatActivity.messageInputViewModel.getEditChatMessage.collect { message ->
226+
message?.let { setEditUI(it as ChatMessage) } ?: clearEditUI()
227+
}
228+
}
224229
}
225230

226231
chatActivity.messageInputViewModel.createThreadViewState.observe(viewLifecycleOwner) { state ->
@@ -383,7 +388,6 @@ class MessageInputFragment : Fragment() {
383388
val filters = arrayOfNulls<InputFilter>(1)
384389
val lengthFilter = CapabilitiesUtil.getMessageMaxLength(spreedCapabilities)
385390

386-
binding.fragmentEditView.editMessageView.visibility = View.GONE
387391
binding.fragmentMessageInputView.setPadding(0, 0, 0, 0)
388392

389393
filters[0] = InputFilter.LengthFilter(lengthFilter)

app/src/main/java/com/nextcloud/talk/chat/viewmodels/MessageInputViewModel.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import com.nextcloud.talk.utils.message.SendMessageUtils
2525
import com.stfalcon.chatkit.commons.models.IMessage
2626
import io.reactivex.disposables.Disposable
2727
import kotlinx.coroutines.flow.Flow
28+
import kotlinx.coroutines.flow.MutableStateFlow
29+
import kotlinx.coroutines.flow.StateFlow
2830
import kotlinx.coroutines.launch
2931
import javax.inject.Inject
3032

@@ -86,8 +88,8 @@ class MessageInputViewModel @Inject constructor(
8688
val mediaPlayerSeekbarObserver: Flow<Int>
8789
get() = mediaPlayerManager.mediaPlayerSeekBarPosition
8890

89-
private val _getEditChatMessage: MutableLiveData<IMessage?> = MutableLiveData()
90-
val getEditChatMessage: LiveData<IMessage?>
91+
private val _getEditChatMessage: MutableStateFlow<IMessage?> = MutableStateFlow(null)
92+
val getEditChatMessage: StateFlow<IMessage?>
9193
get() = _getEditChatMessage
9294

9395
private val _getReplyChatMessage: MutableLiveData<ChatMessage?> = MutableLiveData()
@@ -218,7 +220,7 @@ class MessageInputViewModel @Inject constructor(
218220
}
219221

220222
fun edit(message: IMessage?) {
221-
_getEditChatMessage.postValue(message)
223+
_getEditChatMessage.value = message
222224
}
223225

224226
fun startMicInput(context: Context) {

app/src/main/res/layout/fragment_message_input.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@
3939
layout="@layout/edit_message_view"
4040
android:layout_width="match_parent"
4141
android:layout_height="wrap_content"
42-
android:layout_marginEnd="6dp">
43-
</include>
42+
android:layout_marginEnd="6dp"
43+
android:visibility="gone"
44+
tools:visibility="visible" />
4445

4546
<include
4647
android:id="@+id/fragment_create_thread_view"

0 commit comments

Comments
 (0)