Skip to content

Commit 747b1e0

Browse files
committed
Refactor GroupChannelEditScreen to handle its own GroupChannelEditViewModelFactory instantiation.
- Remove `viewModelFactory` parameter from `GroupChannelEditScreen` and internalize its creation using `LocalContext` and the provided `channel.cid`. - Update `GroupChannelInfoScreen` to no longer pass a factory to `GroupChannelEditScreen`. - Simplify `GroupChannelEditPlaceholder` by removing redundant factory initialization. - Provide a default empty lambda for the `onDismiss` parameter in `GroupChannelEditScreen`.
1 parent b5e1bd4 commit 747b1e0

2 files changed

Lines changed: 5 additions & 17 deletions

File tree

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelEditScreen.kt

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,13 @@ import java.io.File
8484
@OptIn(ExperimentalMaterial3Api::class)
8585
@Composable
8686
internal fun GroupChannelEditScreen(
87-
viewModelFactory: GroupChannelEditViewModelFactory,
8887
channel: Channel,
89-
onDismiss: () -> Unit,
88+
onDismiss: () -> Unit = {},
9089
) {
9190
val context = LocalContext.current
92-
val viewModel = viewModel<GroupChannelEditViewModel>(factory = viewModelFactory)
91+
val viewModel = viewModel<GroupChannelEditViewModel>(
92+
factory = GroupChannelEditViewModelFactory(context = context, cid = channel.cid),
93+
)
9394
val state by viewModel.state.collectAsStateWithLifecycle()
9495

9596
var channelName by rememberSaveable(stateSaver = TextFieldValue.Saver) {
@@ -412,15 +413,8 @@ private fun GroupChannelEditPlaceholderPreview() {
412413

413414
@Composable
414415
internal fun GroupChannelEditPlaceholder() {
415-
val context = LocalContext.current
416-
val channel = PreviewChannelData.channelWithImage
417416
GroupChannelEditScreen(
418-
viewModelFactory = GroupChannelEditViewModelFactory(
419-
context = context,
420-
cid = channel.cid,
421-
),
422-
channel = channel,
423-
onDismiss = {},
417+
channel = PreviewChannelData.channelWithImage,
424418
)
425419
}
426420

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ import io.getstream.chat.android.compose.viewmodel.channel.AddMembersViewModel
8282
import io.getstream.chat.android.compose.viewmodel.channel.ChannelHeaderViewModel
8383
import io.getstream.chat.android.compose.viewmodel.channel.ChannelInfoViewModel
8484
import io.getstream.chat.android.compose.viewmodel.channel.ChannelInfoViewModelFactory
85-
import io.getstream.chat.android.compose.viewmodel.channel.GroupChannelEditViewModelFactory
8685
import io.getstream.chat.android.models.Channel
8786
import io.getstream.chat.android.models.ConnectionState
8887
import io.getstream.chat.android.models.Member
@@ -113,7 +112,6 @@ public fun GroupChannelInfoScreen(
113112
currentUser: User? = ChatClient.instance().getCurrentUser(),
114113
onNavigationIconClick: () -> Unit = {},
115114
) {
116-
val context = LocalContext.current
117115
val headerViewModel = viewModel<ChannelHeaderViewModel>(factory = viewModelFactory)
118116
val infoViewModel = viewModel<ChannelInfoViewModel>(factory = viewModelFactory)
119117
val headerState by headerViewModel.state.collectAsStateWithLifecycle()
@@ -137,10 +135,6 @@ public fun GroupChannelInfoScreen(
137135
FullscreenDialog(onDismissRequest = { showEditChannel = false }) {
138136
ViewModelStore {
139137
GroupChannelEditScreen(
140-
viewModelFactory = GroupChannelEditViewModelFactory(
141-
context = context,
142-
cid = channel.cid,
143-
),
144138
channel = channel,
145139
onDismiss = { showEditChannel = false },
146140
)

0 commit comments

Comments
 (0)