88import androidx .annotation .NonNull ;
99import androidx .annotation .Nullable ;
1010import androidx .appcompat .app .AppCompatActivity ;
11- import androidx .lifecycle .FlowLiveDataConversions ;
1211import androidx .lifecycle .LiveData ;
1312import androidx .lifecycle .Transformations ;
1413import androidx .lifecycle .ViewModelProvider ;
2423import java .util .List ;
2524
2625import io .getstream .chat .android .client .ChatClient ;
26+ import io .getstream .chat .android .client .extensions .FlowExtensions ;
2727import io .getstream .chat .android .client .models .Channel ;
2828import io .getstream .chat .android .client .models .Message ;
2929import io .getstream .chat .android .client .models .TypingEvent ;
3636import io .getstream .chat .android .ui .message .list .header .viewmodel .MessageListHeaderViewModelBinding ;
3737import io .getstream .chat .android .ui .message .list .viewmodel .MessageListViewModelBinding ;
3838import io .getstream .chat .android .ui .message .list .viewmodel .factory .MessageListViewModelFactory ;
39- import kotlinx .coroutines .Dispatchers ;
4039import kotlinx .coroutines .flow .Flow ;
41- import kotlinx .coroutines .flow .FlowKt ;
4240
4341public class ChannelActivity3 extends AppCompatActivity {
4442
@@ -65,7 +63,9 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
6563
6664 // Step 1 - Create three separate ViewModels for the views so it's easy
6765 // to customize them individually
68- MessageListViewModelFactory factory = new MessageListViewModelFactory (cid );
66+ ViewModelProvider .Factory factory = new MessageListViewModelFactory .Builder ()
67+ .cid (cid )
68+ .build ();
6969 ViewModelProvider provider = new ViewModelProvider (this , factory );
7070 MessageListHeaderViewModel messageListHeaderViewModel = provider .get (MessageListHeaderViewModel .class );
7171 MessageListViewModel messageListViewModel = provider .get (MessageListViewModel .class );
@@ -126,8 +126,8 @@ public void handleOnBackPressed() {
126126 // Observe typing events and update typing header depending on its state.
127127 Flow <ChannelState > channelStateFlow = ChatClientExtensions .watchChannelAsState (ChatClient .instance (), cid , 30 );
128128 LiveData <TypingEvent > typingEventLiveData = Transformations .switchMap (
129- FlowLiveDataConversions .asLiveData (channelStateFlow ),
130- channelState -> FlowLiveDataConversions .asLiveData (channelState .getTyping ())
129+ FlowExtensions .asLiveData (channelStateFlow ),
130+ channelState -> FlowExtensions .asLiveData (channelState .getTyping ())
131131 );
132132
133133 typingEventLiveData .observe (this , typingEvent -> {
0 commit comments