Skip to content

Commit

Permalink
removed unused functions, disabled move folder for user screen
Browse files Browse the repository at this point in the history
  • Loading branch information
Garzas committed Jan 7, 2025
1 parent 91552f1 commit 94e478f
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 61 deletions.
36 changes: 0 additions & 36 deletions app/src/main/kotlin/com/wire/android/di/ViewModelScoped.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,13 @@
*/
package com.wire.android.di

import android.content.Context
import android.os.Bundle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalInspectionMode
import androidx.core.os.bundleOf
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
import com.sebaslogen.resaca.hilt.hiltViewModelScoped
import dagger.hilt.android.EntryPointAccessors
import dev.ahmedmourad.bundlizer.Bundlizer
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.serializer
Expand Down Expand Up @@ -76,36 +70,6 @@ inline fun <reified T, reified S, reified R : ScopedArgs> hiltViewModelScoped(ar
else -> hiltViewModelScoped<T>(key = arguments.key, defaultArguments = Bundlizer.bundle(R::class.serializer(), arguments))
}

@Composable
inline fun <reified VM : ViewModel, R : ScopedArgs> hiltAssistedViewModelScoped(
arguments: R,
crossinline factoryProvider: () -> AssistedViewModelFactory<VM, R>
): VM {
val key = arguments.key.toString()
val factory = factoryProvider()
val viewModelStoreOwner = LocalViewModelStoreOwner.current
val context = LocalContext.current

return remember(key) {
ViewModelProvider(
viewModelStoreOwner ?: throw IllegalStateException("ViewModelStoreOwner not found"),
object : ViewModelProvider.Factory {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(VM::class.java)) {
return factory.create(arguments) as T
}
throw IllegalArgumentException("Unknown ViewModel class")
}
}
)[VM::class.java]
}
}

inline fun <reified F> hiltViewModelFactory(context: Context): F {
return EntryPointAccessors.fromApplication(context, F::class.java)
}

/**
* Creates a [Bundle] with all key-values from the given [SavedStateHandle].
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ fun ConversationSheetContent(
conversationSheetState: ConversationSheetState,
onMutingConversationStatusChange: () -> Unit,
changeFavoriteState: (GroupDialogState, addToFavorite: Boolean) -> Unit,
moveConversationToFolder: (ConversationFoldersNavArgs) -> Unit,
moveConversationToFolder: ((ConversationFoldersNavArgs) -> Unit)?,
updateConversationArchiveStatus: (DialogState) -> Unit,
clearConversationContent: (DialogState) -> Unit,
blockUser: (BlockUserDialogState) -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ import com.wire.kalium.logic.data.user.ConnectionState
internal fun ConversationMainSheetContent(
conversationSheetContent: ConversationSheetContent,
changeFavoriteState: (dialogState: GroupDialogState, addToFavorite: Boolean) -> Unit,
moveConversationToFolder: (ConversationFoldersNavArgs) -> Unit,
moveConversationToFolder: ((ConversationFoldersNavArgs) -> Unit)?,
updateConversationArchiveStatus: (DialogState) -> Unit,
clearConversationContent: (DialogState) -> Unit,
blockUserClick: (BlockUserDialogState) -> Unit,
Expand Down Expand Up @@ -141,25 +141,27 @@ internal fun ConversationMainSheetContent(
}
}
}
add {
MenuBottomSheetItem(
leading = {
MenuItemIcon(
id = R.drawable.ic_folder,
contentDescription = null,
)
},
title = stringResource(R.string.label_move_to_folder),
onItemClick = {
moveConversationToFolder(
ConversationFoldersNavArgs(
conversationId = conversationSheetContent.conversationId,
conversationName = conversationSheetContent.title,
currentFolderId = conversationSheetContent.folder?.id
if (moveConversationToFolder != null) {
add {
MenuBottomSheetItem(
leading = {
MenuItemIcon(
id = R.drawable.ic_folder,
contentDescription = null,
)
)
}
)
},
title = stringResource(R.string.label_move_to_folder),
onItemClick = {
moveConversationToFolder(
ConversationFoldersNavArgs(
conversationId = conversationSheetContent.conversationId,
conversationName = conversationSheetContent.title,
currentFolderId = conversationSheetContent.folder?.id
)
)
}
)
}
}
add {
MenuBottomSheetItem(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ import com.wire.android.ui.home.conversations.details.participants.GroupConversa
import com.wire.android.ui.home.conversations.details.participants.GroupConversationParticipantsState
import com.wire.android.ui.home.conversations.details.participants.model.UIParticipant
import com.wire.android.ui.home.conversations.folder.ConversationFoldersNavArgs
import com.wire.android.ui.home.conversations.folder.ConversationFoldersNavBackArgs
import com.wire.android.ui.home.conversationslist.model.DialogState
import com.wire.android.ui.home.conversationslist.model.GroupDialogState
import com.wire.android.ui.legalhold.dialog.subject.LegalHoldSubjectConversationDialog
Expand Down Expand Up @@ -140,6 +141,8 @@ fun GroupConversationDetailsScreen(
navigator: Navigator,
resultNavigator: ResultBackNavigator<GroupConversationDetailsNavBackArgs>,
groupConversationDetailResultRecipient: ResultRecipient<EditConversationNameScreenDestination, Boolean>,
conversationFoldersScreenResultRecipient:
ResultRecipient<ConversationFoldersScreenDestination, ConversationFoldersNavBackArgs>,
viewModel: GroupConversationDetailsViewModel = hiltViewModel()
) {
val scope = rememberCoroutineScope()
Expand Down Expand Up @@ -274,6 +277,17 @@ fun GroupConversationDetailsScreen(
}
}
}

conversationFoldersScreenResultRecipient.onNavResult { result ->
when (result) {
NavResult.Canceled -> {}
is NavResult.Value -> {
scope.launch {
snackbarHostState.showSnackbar(result.value.message)
}
}
}
}
}

@OptIn(ExperimentalFoundationApi::class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp
import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.RootNavGraph
import com.ramcosta.composedestinations.result.NavResult
import com.ramcosta.composedestinations.result.ResultBackNavigator
import com.ramcosta.composedestinations.result.ResultRecipient
import com.wire.android.R
import com.wire.android.di.hiltViewModelScoped
import com.wire.android.navigation.BackStackMode
Expand Down Expand Up @@ -97,6 +99,7 @@ import com.wire.android.ui.destinations.ConversationFoldersScreenDestination
import com.wire.android.ui.home.conversations.details.SearchAndMediaRow
import com.wire.android.ui.home.conversations.details.dialog.ClearConversationContentDialog
import com.wire.android.ui.home.conversations.folder.ConversationFoldersNavArgs
import com.wire.android.ui.home.conversations.folder.ConversationFoldersNavBackArgs
import com.wire.android.ui.home.conversationslist.model.DialogState
import com.wire.android.ui.home.conversationslist.model.Membership
import com.wire.android.ui.legalhold.banner.LegalHoldSubjectBanner
Expand Down Expand Up @@ -130,6 +133,8 @@ fun OtherUserProfileScreen(
navigator: Navigator,
navArgs: OtherUserProfileNavArgs,
resultNavigator: ResultBackNavigator<String>,
conversationFoldersScreenResultRecipient:
ResultRecipient<ConversationFoldersScreenDestination, ConversationFoldersNavBackArgs>,
viewModel: OtherUserProfileScreenViewModel = hiltViewModel()
) {
val snackbarHostState = LocalSnackbarHostState.current
Expand Down Expand Up @@ -202,9 +207,7 @@ fun OtherUserProfileScreen(
navigateBack = navigator::navigateBack,
onConversationMediaClick = onConversationMediaClick,
onLegalHoldLearnMoreClick = remember { { legalHoldSubjectDialogState.show(Unit) } },
onMoveToFolder = {
navigator.navigate(NavigationCommand(ConversationFoldersScreenDestination(it)))
}
onMoveToFolder = null // TODO implement when conversation details will be available in OtherUserProfileScreenViewModel
)

LaunchedEffect(Unit) {
Expand All @@ -229,6 +232,17 @@ fun OtherUserProfileScreen(
if (viewModel.state.errorLoadingUser != null) {
UserNotFoundDialog(onActionButtonClicked = navigator::navigateBack)
}

conversationFoldersScreenResultRecipient.onNavResult { result ->
when (result) {
NavResult.Canceled -> {}
is NavResult.Value -> {
scope.launch {
snackbarHostState.showSnackbar(result.value.message)
}
}
}
}
}

@SuppressLint("UnusedCrossfadeTargetStateParameter", "LongParameterList")
Expand All @@ -249,7 +263,7 @@ fun OtherProfileScreenContent(
onConversationMediaClick: () -> Unit = {},
navigateBack: () -> Unit = {},
onLegalHoldLearnMoreClick: () -> Unit = {},
onMoveToFolder: (ConversationFoldersNavArgs) -> Unit = {},
onMoveToFolder: ((ConversationFoldersNavArgs) -> Unit)? = null,
changeConversationFavoriteViewModel: ChangeConversationFavoriteVM =
hiltViewModelScoped<ChangeConversationFavoriteVMImpl, ChangeConversationFavoriteVM, ChangeConversationFavoriteStateArgs>(
ChangeConversationFavoriteStateArgs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ fun OtherUserProfileBottomSheetContent(
changeFavoriteState: (GroupDialogState, addToFavorite: Boolean) -> Unit,
closeBottomSheet: () -> Unit,
getBottomSheetVisibility: () -> Boolean,
onMoveToFolder: (ConversationFoldersNavArgs) -> Unit
onMoveToFolder: ((ConversationFoldersNavArgs) -> Unit)?
) {
when (val state = bottomSheetState.bottomSheetContentState) {
is BottomSheetContent.Conversation -> {
Expand Down

0 comments on commit 94e478f

Please sign in to comment.