From ec7a207b49c191b7ac2d5321b1d47fe0cee5c5c2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:48:59 +0000 Subject: [PATCH 1/2] Commit with unresolved merge conflicts outside of submodules --- .../WaitUntilTransitionEndsWrapper.kt | 60 +++++++++ .../android/navigation/WireDestination.kt | 34 +++++ .../create/code/CreateAccountCodeScreen.kt | 4 +- .../details/CreateAccountDetailsScreen.kt | 4 +- .../create/email/CreateAccountEmailScreen.kt | 4 +- .../CreatePersonalAccountOverviewScreen.kt | 6 +- .../summary/CreateAccountSummaryScreen.kt | 4 +- .../username/CreateAccountUsernameScreen.kt | 4 +- .../devices/register/RegisterDeviceScreen.kt | 4 +- .../devices/remove/RemoveDeviceScreen.kt | 4 +- .../ui/authentication/login/LoginScreen.kt | 4 +- .../authentication/welcome/WelcomeScreen.kt | 4 +- .../com/wire/android/ui/debug/DebugScreen.kt | 7 +- .../ui/e2eiEnrollment/E2EIEnrollmentScreen.kt | 4 +- .../com/wire/android/ui/home/HomeScreen.kt | 4 +- .../appLock/forgot/ForgotLockCodeScreen.kt | 4 +- .../ui/home/appLock/set/SetLockCodeScreen.kt | 4 +- .../unlock/AppUnlockWithBiometricsScreen.kt | 4 +- .../appLock/unlock/EnterLockCodeScreen.kt | 4 +- .../android/ui/home/archive/ArchiveScreen.kt | 4 +- .../home/conversations/ConversationScreen.kt | 4 +- .../details/GroupConversationDetailsScreen.kt | 4 +- .../editguestaccess/EditGuestAccessScreen.kt | 4 +- .../CreatePasswordProtectedGuestLinkScreen.kt | 7 +- .../EditSelfDeletingMessagesScreen.kt | 4 +- .../metadata/EditConversationNameScreen.kt | 7 +- .../GroupConversationAllParticipantsScreen.kt | 4 +- .../media/ConversationMediaScreen.kt | 4 +- .../media/preview/ImagesPreviewScreen.kt | 8 +- .../messagedetails/MessageDetailsScreen.kt | 4 +- .../AddMembersSearchScreen.kt | 8 +- .../SearchConversationMessagesScreen.kt | 4 +- .../all/AllConversationScreen.kt | 8 +- .../conversationslist/call/CallsScreen.kt | 122 +++++++++++++++++ .../mention/MentionScreen.kt | 123 ++++++++++++++++++ .../ui/home/gallery/MediaGalleryScreen.kt | 4 +- .../groupOptions/GroupOptionsScreen.kt | 4 +- .../groupname/NewGroupNameScreen.kt | 7 +- .../NewGroupConversationSearchPeopleScreen.kt | 12 +- .../NewConversationSearchPeopleScreen.kt | 7 +- .../ui/home/settings/SettingsScreen.kt | 4 +- .../settings/about/licenses/LicensesScreen.kt | 4 +- .../home/settings/account/MyAccountScreen.kt | 4 +- .../displayname/ChangeDisplayNameScreen.kt | 4 +- .../email/updateEmail/ChangeEmailScreen.kt | 4 +- .../email/verifyEmail/VerifyEmailScreen.kt | 4 +- .../account/handle/ChangeHandleScreen.kt | 4 +- .../settings/appearance/AppearanceScreen.kt | 4 +- .../settings/appsettings/AppSettingsScreen.kt | 4 +- .../networkSettings/NetworkSettingsScreen.kt | 4 +- .../settings/backup/BackupAndRestoreScreen.kt | 4 +- .../settings/privacy/PrivacySettingsScreen.kt | 7 +- .../wire/android/ui/home/vault/VaultScreen.kt | 4 +- .../ui/home/whatsnew/WhatsNewScreen.kt | 4 +- .../ui/initialsync/InitialSyncScreen.kt | 4 +- .../android/ui/migration/MigrationScreen.kt | 4 +- .../ui/settings/about/AboutThisAppScreen.kt | 4 +- .../settings/devices/DeviceDetailsScreen.kt | 4 +- .../ui/settings/devices/SelfDevicesScreen.kt | 4 +- .../e2ei/E2eiCertificateDetailsScreen.kt | 4 +- .../android/ui/sharing/ImportMediaScreen.kt | 4 +- .../userprofile/avatarpicker/AvatarPicker.kt | 4 +- .../other/OtherUserProfileScreen.kt | 4 +- .../userprofile/self/SelfUserProfileScreen.kt | 4 +- .../service/ServiceDetailsScreen.kt | 4 +- 65 files changed, 506 insertions(+), 117 deletions(-) create mode 100644 app/src/main/kotlin/com/wire/android/navigation/WaitUntilTransitionEndsWrapper.kt create mode 100644 app/src/main/kotlin/com/wire/android/navigation/WireDestination.kt create mode 100644 app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt create mode 100644 app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt diff --git a/app/src/main/kotlin/com/wire/android/navigation/WaitUntilTransitionEndsWrapper.kt b/app/src/main/kotlin/com/wire/android/navigation/WaitUntilTransitionEndsWrapper.kt new file mode 100644 index 00000000000..2608d5699df --- /dev/null +++ b/app/src/main/kotlin/com/wire/android/navigation/WaitUntilTransitionEndsWrapper.kt @@ -0,0 +1,60 @@ +/* + * Wire + * Copyright (C) 2024 Wire Swiss GmbH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ +package com.wire.android.navigation + +import androidx.compose.animation.EnterExitState +import androidx.compose.animation.ExperimentalAnimationApi +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.input.pointer.pointerInput +import com.ramcosta.composedestinations.scope.AnimatedDestinationScope +import com.ramcosta.composedestinations.scope.DestinationScope +import com.ramcosta.composedestinations.wrapper.DestinationWrapper + +@OptIn(ExperimentalAnimationApi::class) +object WaitUntilTransitionEndsWrapper : DestinationWrapper { + + @Composable + override fun DestinationScope.Wrap(screenContent: @Composable () -> Unit) { + (this as? AnimatedDestinationScope)?.let { + var transitionComplete by remember { mutableStateOf(false) } + LaunchedEffect(transition.isRunning, transition.currentState, transition.targetState) { + with(transition) { + transitionComplete = !isRunning && currentState == targetState && currentState == EnterExitState.Visible + } + } + screenContent() + if (!transitionComplete) { + Box( + modifier = Modifier + .fillMaxSize() + .pointerInput(Unit) { + // empty, do nothing to prevent clicks + } + ) + } + } + } +} diff --git a/app/src/main/kotlin/com/wire/android/navigation/WireDestination.kt b/app/src/main/kotlin/com/wire/android/navigation/WireDestination.kt new file mode 100644 index 00000000000..91da4005221 --- /dev/null +++ b/app/src/main/kotlin/com/wire/android/navigation/WireDestination.kt @@ -0,0 +1,34 @@ +/* + * Wire + * Copyright (C) 2024 Wire Swiss GmbH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ +package com.wire.android.navigation + +import com.ramcosta.composedestinations.annotation.DeepLink +import com.ramcosta.composedestinations.annotation.Destination +import com.ramcosta.composedestinations.annotation.Destination.Companion.COMPOSABLE_NAME +import com.ramcosta.composedestinations.spec.DestinationStyle +import com.ramcosta.composedestinations.wrapper.DestinationWrapper +import kotlin.reflect.KClass + +@Destination +annotation class WireDestination( + val route: String = COMPOSABLE_NAME, + val navArgsDelegate: KClass<*> = Nothing::class, + val deepLinks: Array = [], + val style: KClass = DestinationStyle.Default::class, + val wrappers: Array> = [WaitUntilTransitionEndsWrapper::class], +) diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/code/CreateAccountCodeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/code/CreateAccountCodeScreen.kt index fd53f573e78..680705d00ed 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/code/CreateAccountCodeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/code/CreateAccountCodeScreen.kt @@ -41,11 +41,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.authentication.create.common.CreateAccountFlowType import com.wire.android.ui.authentication.create.common.CreateAccountNavArgs @@ -73,7 +73,7 @@ import kotlinx.coroutines.job @CreatePersonalAccountNavGraph @CreateTeamAccountNavGraph -@Destination(navArgsDelegate = CreateAccountNavArgs::class) +@WireDestination(navArgsDelegate = CreateAccountNavArgs::class) @Composable fun CreateAccountCodeScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/details/CreateAccountDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/details/CreateAccountDetailsScreen.kt index 7cf62ffbc67..5693e00a434 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/details/CreateAccountDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/details/CreateAccountDetailsScreen.kt @@ -44,10 +44,10 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.authentication.create.common.CreateAccountFlowType import com.wire.android.ui.authentication.create.common.CreateAccountNavArgs @@ -74,7 +74,7 @@ import com.wire.kalium.logic.configuration.server.ServerConfig @CreatePersonalAccountNavGraph @CreateTeamAccountNavGraph -@Destination(navArgsDelegate = CreateAccountNavArgs::class) +@WireDestination(navArgsDelegate = CreateAccountNavArgs::class) @Composable fun CreateAccountDetailsScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/email/CreateAccountEmailScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/email/CreateAccountEmailScreen.kt index e413f6bc9bc..7f14e85ad4f 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/email/CreateAccountEmailScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/email/CreateAccountEmailScreen.kt @@ -52,11 +52,11 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.authentication.create.common.CreateAccountFlowType import com.wire.android.ui.authentication.create.common.CreateAccountNavArgs @@ -86,7 +86,7 @@ import com.wire.kalium.logic.configuration.server.ServerConfig @CreatePersonalAccountNavGraph @CreateTeamAccountNavGraph -@Destination(navArgsDelegate = CreateAccountNavArgs::class) +@WireDestination(navArgsDelegate = CreateAccountNavArgs::class) @Composable fun CreateAccountEmailScreen( createAccountEmailViewModel: CreateAccountEmailViewModel = hiltViewModel(), diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/overview/CreatePersonalAccountOverviewScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/overview/CreatePersonalAccountOverviewScreen.kt index 70912bb245b..dd02af432e2 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/overview/CreatePersonalAccountOverviewScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/overview/CreatePersonalAccountOverviewScreen.kt @@ -40,10 +40,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.authentication.create.common.CreateAccountFlowType import com.wire.android.ui.authentication.create.common.CreateAccountNavArgs @@ -59,7 +59,7 @@ import com.wire.android.util.CustomTabsHelper import com.wire.kalium.logic.configuration.server.ServerConfig @CreatePersonalAccountNavGraph(start = true) -@Destination +@WireDestination @Composable fun CreatePersonalAccountOverviewScreen( viewModel: CreateAccountOverviewViewModel = hiltViewModel(), @@ -86,7 +86,7 @@ fun CreatePersonalAccountOverviewScreen( } @CreateTeamAccountNavGraph(start = true) -@Destination +@WireDestination @Composable fun CreateTeamAccountOverviewScreen( viewModel: CreateAccountOverviewViewModel = hiltViewModel(), diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/summary/CreateAccountSummaryScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/summary/CreateAccountSummaryScreen.kt index 724ab7f3ff4..67e691c61ce 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/summary/CreateAccountSummaryScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/summary/CreateAccountSummaryScreen.kt @@ -35,11 +35,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.create.common.CreateAccountFlowType import com.wire.android.ui.authentication.create.common.CreatePersonalAccountNavGraph import com.wire.android.ui.authentication.create.common.CreateTeamAccountNavGraph @@ -52,7 +52,7 @@ import com.wire.android.ui.theme.wireTypography @CreatePersonalAccountNavGraph @CreateTeamAccountNavGraph -@Destination(navArgsDelegate = CreateAccountSummaryNavArgs::class) +@WireDestination(navArgsDelegate = CreateAccountSummaryNavArgs::class) @Composable fun CreateAccountSummaryScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/create/username/CreateAccountUsernameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/create/username/CreateAccountUsernameScreen.kt index d25fb930f32..542ace19207 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/create/username/CreateAccountUsernameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/create/username/CreateAccountUsernameScreen.kt @@ -31,12 +31,12 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.create.common.handle.UsernameTextField import com.wire.android.ui.common.button.WireButtonState import com.wire.android.ui.common.button.WirePrimaryButton @@ -50,7 +50,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun CreateAccountUsernameScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/devices/register/RegisterDeviceScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/devices/register/RegisterDeviceScreen.kt index 3cc2d55e473..c5d649590fa 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/devices/register/RegisterDeviceScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/devices/register/RegisterDeviceScreen.kt @@ -36,13 +36,13 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.feature.NavigationSwitchAccountActions import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.authentication.devices.common.ClearSessionState import com.wire.android.ui.authentication.devices.common.ClearSessionViewModel @@ -70,7 +70,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class, ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/devices/remove/RemoveDeviceScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/devices/remove/RemoveDeviceScreen.kt index d0a3a0c53e8..37681970823 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/devices/remove/RemoveDeviceScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/devices/remove/RemoveDeviceScreen.kt @@ -35,13 +35,13 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.window.DialogProperties import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.feature.NavigationSwitchAccountActions import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.authentication.devices.DeviceItem import com.wire.android.ui.authentication.devices.common.ClearSessionState @@ -67,7 +67,7 @@ import com.wire.android.util.ui.PreviewMultipleThemes import com.wire.kalium.logic.data.conversation.ClientId @RootNavGraph -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class, ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/login/LoginScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/login/LoginScreen.kt index 28063a2dfbc..ad012d2753b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/login/LoginScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/login/LoginScreen.kt @@ -48,12 +48,12 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.window.DialogProperties import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.TransitionAnimationType import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.authentication.login.email.LoginEmailScreen @@ -86,7 +86,7 @@ import com.wire.android.util.ui.UIText import kotlinx.coroutines.launch @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = LoginNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/authentication/welcome/WelcomeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/authentication/welcome/WelcomeScreen.kt index 415d0230677..304b9d06c9b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/authentication/welcome/WelcomeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/authentication/welcome/WelcomeScreen.kt @@ -66,12 +66,12 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.config.LocalCustomUiConfigurationProvider import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.authentication.ServerTitle import com.wire.android.ui.common.button.WirePrimaryButton @@ -101,7 +101,7 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.scan @RootNavGraph(start = true) -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class, ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt b/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt index 60ffd73f200..127a6d3c034 100644 --- a/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt @@ -36,15 +36,18 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.BuildConfig import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +<<<<<<< HEAD import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.dimensions +======= +import com.wire.android.navigation.WireDestination +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.topappbar.NavigationIconType import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.destinations.MigrationScreenDestination @@ -55,7 +58,7 @@ import com.wire.kalium.logic.data.user.UserId import java.io.File @RootNavGraph -@Destination +@WireDestination @Composable fun DebugScreen(navigator: Navigator, userDebugViewModel: UserDebugViewModel = hiltViewModel()) { UserDebugContent( diff --git a/app/src/main/kotlin/com/wire/android/ui/e2eiEnrollment/E2EIEnrollmentScreen.kt b/app/src/main/kotlin/com/wire/android/ui/e2eiEnrollment/E2EIEnrollmentScreen.kt index a8c3285779d..ba7c74fbc12 100644 --- a/app/src/main/kotlin/com/wire/android/ui/e2eiEnrollment/E2EIEnrollmentScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/e2eiEnrollment/E2EIEnrollmentScreen.kt @@ -32,13 +32,13 @@ import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.feature.NavigationSwitchAccountActions import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.ClickableText import com.wire.android.ui.common.button.WireButtonState @@ -65,7 +65,7 @@ import com.wire.kalium.logic.feature.e2ei.usecase.E2EIEnrollmentResult import com.wire.kalium.logic.functional.Either @RootNavGraph -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/HomeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/HomeScreen.kt index 845aad57058..91da6be8703 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/HomeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/HomeScreen.kt @@ -56,7 +56,6 @@ import com.google.accompanist.navigation.material.ExperimentalMaterialNavigation import com.ramcosta.composedestinations.DestinationsNavHost import com.ramcosta.composedestinations.animations.defaults.RootNavGraphDefaultAnimations import com.ramcosta.composedestinations.animations.rememberAnimatedNavHostEngine -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.navigation.dependency import com.ramcosta.composedestinations.result.NavResult @@ -66,6 +65,7 @@ import com.wire.android.appLogger import com.wire.android.navigation.HomeDestination import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.handleNavigation import com.wire.android.ui.NavGraphs import com.wire.android.ui.common.CollapsingTopBarScaffold @@ -89,7 +89,7 @@ import com.wire.android.util.permission.rememberShowNotificationsPermissionFlow import kotlinx.coroutines.launch @RootNavGraph -@Destination +@WireDestination @Composable fun HomeScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/appLock/forgot/ForgotLockCodeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/appLock/forgot/ForgotLockCodeScreen.kt index b0f79361086..6094a01fc30 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/appLock/forgot/ForgotLockCodeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/appLock/forgot/ForgotLockCodeScreen.kt @@ -46,12 +46,12 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.text.style.TextAlign import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.WireDialog import com.wire.android.ui.common.WireDialogButtonProperties import com.wire.android.ui.common.WireDialogButtonType @@ -68,7 +68,7 @@ import com.wire.android.util.dialogErrorStrings import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun ForgotLockCodeScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/appLock/set/SetLockCodeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/appLock/set/SetLockCodeScreen.kt index a3afe0a4dc5..f67a808ea67 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/appLock/set/SetLockCodeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/appLock/set/SetLockCodeScreen.kt @@ -49,10 +49,10 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.text.input.ImeAction import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.rememberNavigator import com.wire.android.ui.common.button.WireButtonState import com.wire.android.ui.common.button.WirePrimaryButton @@ -76,7 +76,7 @@ import com.wire.kalium.logic.feature.auth.ValidatePasswordResult import java.util.Locale @RootNavGraph -@Destination +@WireDestination @Composable fun SetLockCodeScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/AppUnlockWithBiometricsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/AppUnlockWithBiometricsScreen.kt index 488ba58f3ba..c8acb649edb 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/AppUnlockWithBiometricsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/AppUnlockWithBiometricsScreen.kt @@ -34,7 +34,6 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.appLogger @@ -42,12 +41,13 @@ import com.wire.android.biometric.showBiometricPrompt import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.colorsScheme import com.wire.android.ui.common.dimensions import com.wire.android.ui.destinations.EnterLockCodeScreenDestination @RootNavGraph -@Destination +@WireDestination @Composable fun AppUnlockWithBiometricsScreen( appUnlockWithBiometricsViewModel: AppUnlockWithBiometricsViewModel = hiltViewModel(), diff --git a/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/EnterLockCodeScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/EnterLockCodeScreen.kt index 23fbc6f80e7..41d5ce12cc7 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/EnterLockCodeScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/appLock/unlock/EnterLockCodeScreen.kt @@ -48,12 +48,12 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.text.input.ImeAction import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.utils.destination import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.button.WireButtonState import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.button.WireTertiaryButton @@ -72,7 +72,7 @@ import com.wire.android.util.ui.PreviewMultipleThemes import java.util.Locale @RootNavGraph -@Destination +@WireDestination @Composable fun EnterLockCodeScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/archive/ArchiveScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/archive/ArchiveScreen.kt index 7c08265ef09..d2043071b3e 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/archive/ArchiveScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/archive/ArchiveScreen.kt @@ -30,9 +30,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.HomeNavGraph +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.dimensions import com.wire.android.ui.home.HomeStateHolder import com.wire.android.ui.home.conversationslist.ConversationItemType @@ -53,7 +53,7 @@ import com.wire.android.ui.theme.wireTypography * 5. **Optimization**: Speeds up the development cycle by reusing established components. */ @HomeNavGraph -@Destination +@WireDestination @Composable fun ArchiveScreen(homeStateHolder: HomeStateHolder) { with(homeStateHolder) { diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/ConversationScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/ConversationScreen.kt index e99636eed81..0094297b17b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/ConversationScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/ConversationScreen.kt @@ -71,7 +71,6 @@ import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemContentType import androidx.paging.compose.itemKey -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.NavResult.Canceled import com.ramcosta.composedestinations.result.NavResult.Value @@ -90,6 +89,7 @@ import com.wire.android.navigation.Navigator import com.wire.android.ui.LocalActivity import com.wire.android.ui.calling.getOngoingCallIntent import com.wire.android.ui.calling.getOutgoingCallIntent +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.bottomsheet.MenuModalSheetHeader import com.wire.android.ui.common.bottomsheet.MenuModalSheetLayout import com.wire.android.ui.common.colorsScheme @@ -195,7 +195,7 @@ private const val MAX_GROUP_SIZE_FOR_CALL_WITHOUT_ALERT = 5 // TODO: !! this screen definitely needs a refactor and some cleanup !! @Suppress("ComplexMethod") @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = ConversationNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsScreen.kt index 0ed98208291..6d22e0907c1 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsScreen.kt @@ -58,7 +58,6 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.NavResult import com.ramcosta.composedestinations.result.ResultBackNavigator @@ -67,6 +66,7 @@ import com.wire.android.R import com.wire.android.appLogger import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.CollapsingTopBarScaffold import com.wire.android.ui.common.MLSVerifiedIcon @@ -126,7 +126,7 @@ import kotlinx.coroutines.launch import kotlinx.datetime.Instant @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = GroupConversationDetailsNavArgs::class, style = PopUpNavigationAnimation::class, ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/EditGuestAccessScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/EditGuestAccessScreen.kt index cd8fccfb47a..3fa4dcd2ca2 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/EditGuestAccessScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/EditGuestAccessScreen.kt @@ -41,11 +41,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.rememberNavigator import com.wire.android.ui.common.bottomsheet.WireModalSheetState import com.wire.android.ui.common.dimensions @@ -66,7 +66,7 @@ import kotlinx.coroutines.launch @Suppress("ComplexMethod") @OptIn(ExperimentalMaterial3Api::class) @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = EditGuestAccessNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt index bf174f617f9..3911854550c 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt @@ -45,10 +45,15 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.ImeAction import androidx.hilt.navigation.compose.hiltViewModel +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination +======= +import androidx.navigation.NavHostController +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.button.WireButtonState import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.dimensions @@ -65,7 +70,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = CreatePasswordGuestLinkNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesScreen.kt index 419cddc4d5f..9909919d9cb 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesScreen.kt @@ -38,10 +38,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.rememberNavigator import com.wire.android.ui.common.button.WireButton import com.wire.android.ui.common.button.WireButtonState @@ -58,7 +58,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.extension.folderWithElements @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = EditSelfDeletingMessagesNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt index 76dbfc10bfd..379274de0d5 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt @@ -21,18 +21,21 @@ package com.wire.android.ui.home.conversations.details.metadata import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.navigation.Navigator +<<<<<<< HEAD import com.wire.android.ui.common.groupname.GroupMetadataState import com.wire.android.ui.common.groupname.GroupNameMode +======= +import com.wire.android.navigation.WireDestination +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.groupname.GroupNameScreen import com.wire.android.ui.theme.WireTheme import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = EditConversationNameNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/participants/GroupConversationAllParticipantsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/participants/GroupConversationAllParticipantsScreen.kt index 366073d9d29..8365ea4bf79 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/participants/GroupConversationAllParticipantsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/participants/GroupConversationAllParticipantsScreen.kt @@ -34,11 +34,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.rememberTopBarElevationState import com.wire.android.ui.common.topappbar.NavigationIconType import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar @@ -49,7 +49,7 @@ import com.wire.android.ui.home.conversations.details.participants.model.UIParti import com.wire.android.ui.theme.WireTheme @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = GroupConversationAllParticipantsNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/ConversationMediaScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/ConversationMediaScreen.kt index d034d082252..576e9235ef2 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/ConversationMediaScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/ConversationMediaScreen.kt @@ -41,12 +41,12 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.media.audiomessage.AudioState import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.TabItem import com.wire.android.ui.common.WireTabRow @@ -73,7 +73,7 @@ import kotlinx.collections.immutable.persistentMapOf import kotlinx.coroutines.launch @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = ConversationMediaNavArgs::class, style = PopUpNavigationAnimation::class ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt index b34196cef0d..866534411b5 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt @@ -48,12 +48,18 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination +======= +import coil.compose.AsyncImage +import coil.request.ImageRequest +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.ArgsSerializer import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.button.WireSecondaryButton @@ -82,7 +88,7 @@ import kotlinx.coroutines.launch import okio.Path.Companion.toPath @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = ImagesPreviewNavArgs::class, style = PopUpNavigationAnimation::class ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/messagedetails/MessageDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/messagedetails/MessageDetailsScreen.kt index a8d21c17f6f..ab8755310c1 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/messagedetails/MessageDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/messagedetails/MessageDetailsScreen.kt @@ -44,10 +44,10 @@ import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.TabItem import com.wire.android.ui.common.WireTabRow @@ -62,7 +62,7 @@ import com.wire.android.util.ui.UIText import kotlinx.coroutines.launch @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = MessageDetailsNavArgs::class, style = PopUpNavigationAnimation::class, ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt index 497229f0767..0c9b9b9ab7e 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt @@ -20,11 +20,15 @@ package com.wire.android.ui.home.conversations.search.adddembertoconversation import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +<<<<<<< HEAD +======= +import com.wire.android.navigation.WireDestination +import com.wire.android.ui.common.collectAsStateLifecycleAware +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.destinations.OtherUserProfileScreenDestination import com.wire.android.ui.destinations.ServiceDetailsScreenDestination import com.wire.android.ui.home.conversations.search.AddMembersSearchNavArgs @@ -35,7 +39,7 @@ import com.wire.kalium.logic.data.id.QualifiedID import com.wire.kalium.logic.data.user.BotService @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = AddMembersSearchNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/messages/SearchConversationMessagesScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/messages/SearchConversationMessagesScreen.kt index 31dde7b71db..f79c284bf36 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/messages/SearchConversationMessagesScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/messages/SearchConversationMessagesScreen.kt @@ -25,12 +25,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.paging.compose.collectAsLazyPagingItems -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.dimensions import com.wire.android.ui.common.scaffold.WireScaffold @@ -42,7 +42,7 @@ import com.wire.android.util.ui.PreviewMultipleThemes import com.wire.kalium.logic.data.id.ConversationId @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = SearchConversationMessagesNavArgs::class, style = PopUpNavigationAnimation::class ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt index ca17f997925..727c4c656d6 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt @@ -34,10 +34,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination +======= +import androidx.compose.ui.tooling.preview.Preview +import androidx.hilt.navigation.compose.hiltViewModel +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.R import com.wire.android.appLogger import com.wire.android.navigation.HomeNavGraph +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.dialogs.calling.JoinAnywayDialog import com.wire.android.ui.common.dimensions import com.wire.android.ui.home.HomeStateHolder @@ -58,7 +64,7 @@ import kotlinx.collections.immutable.ImmutableMap import kotlinx.collections.immutable.persistentMapOf @HomeNavGraph(start = true) -@Destination +@WireDestination @Composable fun AllConversationScreen(homeStateHolder: HomeStateHolder) { with(homeStateHolder) { diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt new file mode 100644 index 00000000000..2c1e8f4de7b --- /dev/null +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt @@ -0,0 +1,122 @@ +/* + * Wire + * Copyright (C) 2024 Wire Swiss GmbH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +package com.wire.android.ui.home.conversationslist.call + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyListState +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import com.wire.android.R +import com.wire.android.navigation.HomeNavGraph +import com.wire.android.navigation.WireDestination +import com.wire.android.ui.home.HomeStateHolder +import com.wire.android.ui.home.conversationslist.ConversationItemType +import com.wire.android.ui.home.conversationslist.ConversationRouterHomeBridge +import com.wire.android.ui.home.conversationslist.common.ConversationItemFactory +import com.wire.android.ui.home.conversationslist.model.ConversationItem +import com.wire.android.util.extension.folderWithElements +import com.wire.kalium.logic.data.id.ConversationId +import com.wire.kalium.logic.data.user.UserId + +@HomeNavGraph +@WireDestination +@Composable +fun CallsScreen(homeStateHolder: HomeStateHolder) { + with(homeStateHolder) { + ConversationRouterHomeBridge( + navigator = navigator, + conversationItemType = ConversationItemType.CALLS, + onHomeBottomSheetContentChanged = ::changeBottomSheetContent, + onOpenBottomSheet = ::openBottomSheet, + onCloseBottomSheet = ::closeBottomSheet, + onSnackBarStateChanged = ::setSnackBarState, + searchBarState = searchBarState, + isBottomSheetVisible = ::isBottomSheetVisible + ) + } +} + +@Composable +fun CallsScreenContent( + missedCalls: List = emptyList(), + callHistory: List = emptyList(), + onCallItemClick: (ConversationId) -> Unit, + onEditConversationItem: (ConversationItem) -> Unit, + onOpenUserProfile: (UserId) -> Unit +) { + val lazyListState = rememberLazyListState() + + CallContent( + lazyListState = lazyListState, + missedCalls = missedCalls, + callHistory = callHistory, + onCallItemClick = onCallItemClick, + onEditConversationItem = onEditConversationItem, + onOpenUserProfile = onOpenUserProfile + ) +} + +@Composable +fun CallContent( + lazyListState: LazyListState, + missedCalls: List, + callHistory: List, + onCallItemClick: (ConversationId) -> Unit, + onEditConversationItem: (ConversationItem) -> Unit, + onOpenUserProfile: (UserId) -> Unit +) { + val context = LocalContext.current + LazyColumn( + state = lazyListState, + modifier = Modifier.fillMaxSize() + ) { + folderWithElements( + header = context.getString(R.string.calls_label_missed_calls), + items = missedCalls.associateBy { it.conversationId.toString() } + ) { missedCall -> + ConversationItemFactory( + conversation = missedCall, + openConversation = onCallItemClick, + openMenu = onEditConversationItem, + openUserProfile = onOpenUserProfile, + joinCall = { }, + onPermissionPermanentlyDenied = {}, + searchQuery = "" + ) + } + + folderWithElements( + header = context.getString(R.string.calls_label_calls_history), + items = callHistory.associateBy { it.conversationId.toString() } + ) { callHistory -> + ConversationItemFactory( + conversation = callHistory, + openConversation = onCallItemClick, + openMenu = onEditConversationItem, + openUserProfile = onOpenUserProfile, + joinCall = { }, + onPermissionPermanentlyDenied = {}, + searchQuery = " " + ) + } + } +} diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt new file mode 100644 index 00000000000..909ca158937 --- /dev/null +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt @@ -0,0 +1,123 @@ +/* + * Wire + * Copyright (C) 2024 Wire Swiss GmbH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +package com.wire.android.ui.home.conversationslist.mention + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyListState +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import com.wire.android.R +import com.wire.android.navigation.HomeNavGraph +import com.wire.android.navigation.WireDestination +import com.wire.android.ui.home.HomeStateHolder +import com.wire.android.ui.home.conversationslist.ConversationItemType +import com.wire.android.ui.home.conversationslist.ConversationRouterHomeBridge +import com.wire.android.ui.home.conversationslist.common.ConversationItemFactory +import com.wire.android.ui.home.conversationslist.model.ConversationItem +import com.wire.android.util.extension.folderWithElements +import com.wire.kalium.logic.data.id.ConversationId +import com.wire.kalium.logic.data.user.UserId + +@HomeNavGraph +@WireDestination +@Composable +fun MentionScreen(homeStateHolder: HomeStateHolder) { + with(homeStateHolder) { + ConversationRouterHomeBridge( + navigator = navigator, + conversationItemType = ConversationItemType.MENTIONS, + onHomeBottomSheetContentChanged = ::changeBottomSheetContent, + onOpenBottomSheet = ::openBottomSheet, + onCloseBottomSheet = ::closeBottomSheet, + onSnackBarStateChanged = ::setSnackBarState, + searchBarState = searchBarState, + isBottomSheetVisible = ::isBottomSheetVisible + ) + } +} + +@Composable +fun MentionScreenContent( + unreadMentions: List = emptyList(), + allMentions: List = emptyList(), + onMentionItemClick: (ConversationId) -> Unit, + onEditConversationItem: (ConversationItem) -> Unit, + onOpenUserProfile: (UserId) -> Unit, + openConversationNotificationsSettings: (ConversationItem) -> Unit +) { + val lazyListState = rememberLazyListState() + + MentionContent( + lazyListState = lazyListState, + unreadMentions = unreadMentions, + allMentions = allMentions, + onMentionItemClick = onMentionItemClick, + onEditConversationItem = onEditConversationItem, + onOpenUserProfile = onOpenUserProfile, + ) +} + +@Composable +private fun MentionContent( + lazyListState: LazyListState, + unreadMentions: List, + allMentions: List, + onMentionItemClick: (ConversationId) -> Unit, + onEditConversationItem: (ConversationItem) -> Unit, + onOpenUserProfile: (UserId) -> Unit, +) { + val context = LocalContext.current + LazyColumn( + state = lazyListState, + modifier = Modifier.fillMaxSize() + ) { + folderWithElements( + header = context.getString(R.string.mention_label_unread_mentions), + items = unreadMentions.associateBy { it.conversationId.toString() } + ) { unreadMention -> + ConversationItemFactory( + conversation = unreadMention, + openConversation = onMentionItemClick, + openMenu = onEditConversationItem, + openUserProfile = onOpenUserProfile, + joinCall = {}, + onPermissionPermanentlyDenied = {}, + searchQuery = "" + ) + } + + folderWithElements( + header = context.getString(R.string.mention_label_all_mentions), + items = allMentions.associateBy { it.conversationId.toString() } + ) { mention -> + ConversationItemFactory( + conversation = mention, + openConversation = onMentionItemClick, + openMenu = onEditConversationItem, + openUserProfile = onOpenUserProfile, + joinCall = {}, + onPermissionPermanentlyDenied = {}, + searchQuery = "" + ) + } + } +} diff --git a/app/src/main/kotlin/com/wire/android/ui/home/gallery/MediaGalleryScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/gallery/MediaGalleryScreen.kt index 7ebaaf518c4..bf5b831e7aa 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/gallery/MediaGalleryScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/gallery/MediaGalleryScreen.kt @@ -32,11 +32,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.bottomsheet.MenuModalSheetLayout import com.wire.android.ui.common.colorsScheme @@ -51,7 +51,7 @@ import com.wire.android.util.permission.rememberWriteStoragePermissionFlow import com.wire.android.util.ui.openDownloadFolder @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = MediaGalleryNavArgs::class, style = PopUpNavigationAnimation::class, ) diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupOptions/GroupOptionsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupOptions/GroupOptionsScreen.kt index 29c8cc5c990..1b7b6875a4f 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupOptions/GroupOptionsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupOptions/GroupOptionsScreen.kt @@ -37,12 +37,12 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.sp -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.model.Clickable import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.Icon import com.wire.android.ui.common.WireDialog import com.wire.android.ui.common.WireDialogButtonProperties @@ -66,7 +66,7 @@ import com.wire.android.ui.theme.wireDimensions import com.wire.kalium.logic.data.id.ConversationId @NewConversationNavGraph -@Destination +@WireDestination @Composable fun GroupOptionScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt index e348928ef11..42c59dc2b34 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt @@ -20,10 +20,15 @@ package com.wire.android.ui.home.newconversation.groupname import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination +======= +import androidx.compose.ui.tooling.preview.Preview +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.groupname.GroupMetadataState import com.wire.android.ui.common.groupname.GroupNameMode import com.wire.android.ui.common.groupname.GroupNameScreen @@ -39,7 +44,7 @@ import com.wire.android.util.ui.PreviewMultipleThemes import com.wire.kalium.logic.data.id.ConversationId @NewConversationNavGraph -@Destination +@WireDestination @Composable fun NewGroupNameScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt index d20351af99b..eae21ce2132 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt @@ -19,12 +19,22 @@ package com.wire.android.ui.home.newconversation.groupsearch import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +======= +import androidx.hilt.navigation.compose.hiltViewModel +import com.wire.android.R +import com.wire.android.navigation.NavigationCommand +import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination +import com.wire.android.ui.common.collectAsStateLifecycleAware +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.destinations.NewGroupNameScreenDestination import com.wire.android.ui.destinations.OtherUserProfileScreenDestination +import com.wire.android.ui.home.conversations.search.SearchBarViewModel import com.wire.android.ui.home.conversations.search.SearchPeopleScreenType import com.wire.android.ui.home.conversations.search.SearchUsersAndServicesScreen import com.wire.android.ui.home.newconversation.NewConversationViewModel @@ -32,7 +42,7 @@ import com.wire.android.ui.home.newconversation.common.NewConversationNavGraph import com.wire.kalium.logic.data.id.QualifiedID @NewConversationNavGraph -@Destination +@WireDestination @Composable fun NewGroupConversationSearchPeopleScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt index 5942eb568ee..2fc9adbf4c8 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt @@ -19,10 +19,15 @@ package com.wire.android.ui.home.newconversation.search import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource +<<<<<<< HEAD import com.ramcosta.composedestinations.annotation.Destination +======= +import androidx.hilt.navigation.compose.hiltViewModel +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.destinations.NewGroupConversationSearchPeopleScreenDestination import com.wire.android.ui.destinations.OtherUserProfileScreenDestination @@ -33,7 +38,7 @@ import com.wire.android.ui.home.newconversation.common.NewConversationNavGraph import com.wire.kalium.logic.data.id.QualifiedID @NewConversationNavGraph(start = true) -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/SettingsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/SettingsScreen.kt index 155b71e8045..7828b8e7381 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/SettingsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/SettingsScreen.kt @@ -29,7 +29,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.BuildConfig import com.wire.android.R import com.wire.android.appLogger @@ -37,6 +36,7 @@ import com.wire.android.model.Clickable import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.HomeNavGraph import com.wire.android.navigation.NavigationCommand +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.handleNavigation import com.wire.android.ui.common.visbility.rememberVisibilityState import com.wire.android.ui.destinations.SetLockCodeScreenDestination @@ -45,7 +45,7 @@ import com.wire.android.util.debug.LocalFeatureVisibilityFlags import com.wire.android.util.extension.folderWithElements @HomeNavGraph -@Destination +@WireDestination @Composable fun SettingsScreen( homeStateHolder: HomeStateHolder, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/about/licenses/LicensesScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/about/licenses/LicensesScreen.kt index 1468ec40d56..633ce4d74e9 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/about/licenses/LicensesScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/about/licenses/LicensesScreen.kt @@ -31,14 +31,14 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import com.mikepenz.aboutlibraries.entity.Library import com.mikepenz.aboutlibraries.ui.compose.util.htmlReadyLicenseContent -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar @RootNavGraph -@Destination +@WireDestination @Composable fun LicensesScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountScreen.kt index 440a543afca..29e550a1da7 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountScreen.kt @@ -37,7 +37,6 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.NavResult import com.ramcosta.composedestinations.result.ResultRecipient @@ -47,6 +46,7 @@ import com.wire.android.appLogger import com.wire.android.model.Clickable import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.Icon import com.wire.android.ui.common.RowItemTemplate import com.wire.android.ui.common.button.WireButtonState @@ -77,7 +77,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @RootNavGraph -@Destination +@WireDestination @Composable fun MyAccountScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/displayname/ChangeDisplayNameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/displayname/ChangeDisplayNameScreen.kt index 86a5051cb3b..02b057a0e1a 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/displayname/ChangeDisplayNameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/displayname/ChangeDisplayNameScreen.kt @@ -39,11 +39,11 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.Icon import com.wire.android.ui.common.ShakeAnimation import com.wire.android.ui.common.button.WireButtonState.Default @@ -65,7 +65,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun ChangeDisplayNameScreen( viewModel: ChangeDisplayNameViewModel = hiltViewModel(), diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/updateEmail/ChangeEmailScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/updateEmail/ChangeEmailScreen.kt index 8c4f8a9644e..24f17c6ff98 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/updateEmail/ChangeEmailScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/updateEmail/ChangeEmailScreen.kt @@ -38,12 +38,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.Icon import com.wire.android.ui.common.ShakeAnimation import com.wire.android.ui.common.button.WireButtonState.Default @@ -66,7 +66,7 @@ import com.wire.android.util.Patterns import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun ChangeEmailScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/verifyEmail/VerifyEmailScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/verifyEmail/VerifyEmailScreen.kt index 039f983e7b9..2155afa78f3 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/verifyEmail/VerifyEmailScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/email/verifyEmail/VerifyEmailScreen.kt @@ -35,10 +35,10 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.button.WireButtonState.Default import com.wire.android.ui.common.button.WireButtonState.Disabled import com.wire.android.ui.common.button.WirePrimaryButton @@ -52,7 +52,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.stringWithStyledArgs @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = VerifyEmailNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/handle/ChangeHandleScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/handle/ChangeHandleScreen.kt index 43b965498e1..3406fa3d8f0 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/handle/ChangeHandleScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/handle/ChangeHandleScreen.kt @@ -35,11 +35,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.create.common.handle.UsernameTextField import com.wire.android.ui.common.Icon import com.wire.android.ui.common.button.WireButtonState.Default @@ -56,7 +56,7 @@ import com.wire.android.ui.theme.wireTypography import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun ChangeHandleScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/appearance/AppearanceScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/appearance/AppearanceScreen.kt index 8c85481267a..36228b3640b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/appearance/AppearanceScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/appearance/AppearanceScreen.kt @@ -40,10 +40,10 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.dimensions import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.selectableBackground @@ -56,7 +56,7 @@ import com.wire.android.util.extension.folderWithElements import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun AppearanceScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/AppSettingsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/AppSettingsScreen.kt index 6f350a7dc3b..400a4ca24cd 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/AppSettingsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/AppSettingsScreen.kt @@ -32,11 +32,11 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph +import com.wire.android.navigation.WireDestination @RootNavGraph -@Destination +@WireDestination @Composable fun AppSettingsScreen() { Column( diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/networkSettings/NetworkSettingsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/networkSettings/NetworkSettingsScreen.kt index c13a5fa6f44..7ba1c65e2c8 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/networkSettings/NetworkSettingsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/appsettings/networkSettings/NetworkSettingsScreen.kt @@ -29,10 +29,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.home.conversations.details.options.ArrowType @@ -41,7 +41,7 @@ import com.wire.android.ui.home.settings.SwitchState import com.wire.android.util.isWebsocketEnabledByDefault @RootNavGraph -@Destination +@WireDestination @Composable fun NetworkSettingsScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/backup/BackupAndRestoreScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/backup/BackupAndRestoreScreen.kt index 425c3c6efeb..12b31fbdeac 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/backup/BackupAndRestoreScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/backup/BackupAndRestoreScreen.kt @@ -38,12 +38,12 @@ import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.dialogs.PermissionPermanentlyDeniedDialog import com.wire.android.ui.common.scaffold.WireScaffold @@ -62,7 +62,7 @@ import com.wire.android.util.time.convertTimestampToDateTime import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun BackupAndRestoreScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt index 3531f1b7d87..da0db763dd8 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt @@ -25,14 +25,17 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +<<<<<<< HEAD import com.wire.android.ui.common.colorsScheme import com.wire.android.ui.common.dimensions import com.wire.android.ui.common.divider.WireDivider import com.wire.android.ui.common.preview.MultipleThemePreviews +======= +import com.wire.android.navigation.WireDestination +>>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.home.conversations.details.options.ArrowType @@ -41,7 +44,7 @@ import com.wire.android.ui.home.settings.SwitchState import com.wire.android.ui.theme.WireTheme @RootNavGraph -@Destination +@WireDestination @Composable fun PrivacySettingsConfigScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/vault/VaultScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/vault/VaultScreen.kt index f2ed55641fa..833ff5df8b0 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/vault/VaultScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/vault/VaultScreen.kt @@ -20,12 +20,12 @@ package com.wire.android.ui.home.vault import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.navigation.HomeNavGraph +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.UnderConstructionScreen @HomeNavGraph -@Destination +@WireDestination @Composable fun VaultScreen() { UnderConstructionScreen(screenName = "VaultScreen") diff --git a/app/src/main/kotlin/com/wire/android/ui/home/whatsnew/WhatsNewScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/whatsnew/WhatsNewScreen.kt index e1ee4023c77..145b235abe3 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/whatsnew/WhatsNewScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/whatsnew/WhatsNewScreen.kt @@ -29,18 +29,18 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.wire.android.R import com.wire.android.model.Clickable import com.wire.android.navigation.HomeNavGraph import com.wire.android.navigation.NavigationCommand +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.handleNavigation import com.wire.android.ui.home.HomeStateHolder import com.wire.android.util.extension.folderWithElements import com.wire.android.util.ui.UIText @HomeNavGraph -@Destination +@WireDestination @Composable fun WhatsNewScreen( homeStateHolder: HomeStateHolder, diff --git a/app/src/main/kotlin/com/wire/android/ui/initialsync/InitialSyncScreen.kt b/app/src/main/kotlin/com/wire/android/ui/initialsync/InitialSyncScreen.kt index fca66bc5575..1a8c9abf0e7 100644 --- a/app/src/main/kotlin/com/wire/android/ui/initialsync/InitialSyncScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/initialsync/InitialSyncScreen.kt @@ -22,17 +22,17 @@ import androidx.compose.animation.core.AnimationConstants.DefaultDurationMillis import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.SettingUpWireScreenContent import com.wire.android.ui.destinations.HomeScreenDestination import kotlinx.coroutines.delay @RootNavGraph -@Destination +@WireDestination @Composable fun InitialSyncScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/migration/MigrationScreen.kt b/app/src/main/kotlin/com/wire/android/ui/migration/MigrationScreen.kt index 29fdf09b6d0..e095bf8e6aa 100644 --- a/app/src/main/kotlin/com/wire/android/ui/migration/MigrationScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/migration/MigrationScreen.kt @@ -28,13 +28,13 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.migration.MigrationData import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.SettingUpWireScreenContent import com.wire.android.ui.common.SettingUpWireScreenType import com.wire.android.ui.destinations.HomeScreenDestination @@ -46,7 +46,7 @@ import com.wire.android.util.EMPTY import com.wire.android.util.ui.stringWithStyledArgs @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = MigrationNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/settings/about/AboutThisAppScreen.kt b/app/src/main/kotlin/com/wire/android/ui/settings/about/AboutThisAppScreen.kt index 020d3723dc7..a52f76bf149 100644 --- a/app/src/main/kotlin/com/wire/android/ui/settings/about/AboutThisAppScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/settings/about/AboutThisAppScreen.kt @@ -34,13 +34,13 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.BuildConfig import com.wire.android.R import com.wire.android.model.Clickable import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.handleNavigation import com.wire.android.ui.common.dimensions import com.wire.android.ui.common.scaffold.WireScaffold @@ -51,7 +51,7 @@ import com.wire.android.ui.theme.WireTheme import com.wire.android.util.ui.PreviewMultipleThemes @RootNavGraph -@Destination +@WireDestination @Composable fun AboutThisAppScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/settings/devices/DeviceDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/settings/devices/DeviceDetailsScreen.kt index c50b99c83c2..399c4572b84 100644 --- a/app/src/main/kotlin/com/wire/android/ui/settings/devices/DeviceDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/settings/devices/DeviceDetailsScreen.kt @@ -45,12 +45,12 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.BuildConfig import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.devices.model.Device import com.wire.android.ui.authentication.devices.model.lastActiveDescription import com.wire.android.ui.authentication.devices.remove.RemoveDeviceDialog @@ -97,7 +97,7 @@ import com.wire.kalium.logic.functional.Either import kotlinx.datetime.Instant @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = DeviceDetailsNavArgs::class ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/settings/devices/SelfDevicesScreen.kt b/app/src/main/kotlin/com/wire/android/ui/settings/devices/SelfDevicesScreen.kt index eef8f369716..f7845dd9102 100644 --- a/app/src/main/kotlin/com/wire/android/ui/settings/devices/SelfDevicesScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/settings/devices/SelfDevicesScreen.kt @@ -35,11 +35,11 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.Lifecycle -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.authentication.devices.DeviceItem import com.wire.android.ui.authentication.devices.model.Device import com.wire.android.ui.common.ArrowRightIcon @@ -54,7 +54,7 @@ import com.wire.kalium.logic.data.conversation.ClientId import com.wire.android.util.lifecycle.rememberLifecycleEvent @RootNavGraph -@Destination +@WireDestination @Composable fun SelfDevicesScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/settings/devices/e2ei/E2eiCertificateDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/settings/devices/e2ei/E2eiCertificateDetailsScreen.kt index f8496fb52cb..0f5ec22bfe7 100644 --- a/app/src/main/kotlin/com/wire/android/ui/settings/devices/e2ei/E2eiCertificateDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/settings/devices/e2ei/E2eiCertificateDetailsScreen.kt @@ -34,10 +34,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.button.WireSecondaryIconButton import com.wire.android.ui.common.colorsScheme @@ -53,7 +53,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = E2eiCertificateDetailsScreenNavArgs::class, style = PopUpNavigationAnimation::class, ) diff --git a/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt b/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt index 56b124aa018..e1b8fa6527e 100644 --- a/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt @@ -49,7 +49,6 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.model.Clickable @@ -58,6 +57,7 @@ import com.wire.android.model.UserAvatarData import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.UserProfileAvatar import com.wire.android.ui.common.bottomsheet.MenuModalSheetLayout import com.wire.android.ui.common.button.WirePrimaryButton @@ -104,7 +104,7 @@ import kotlinx.coroutines.flow.SharedFlow import okio.Path.Companion.toPath @RootNavGraph -@Destination +@WireDestination @Composable fun ImportMediaScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/userprofile/avatarpicker/AvatarPicker.kt b/app/src/main/kotlin/com/wire/android/ui/userprofile/avatarpicker/AvatarPicker.kt index dc4eba0940a..445e3ca6cf3 100644 --- a/app/src/main/kotlin/com/wire/android/ui/userprofile/avatarpicker/AvatarPicker.kt +++ b/app/src/main/kotlin/com/wire/android/ui/userprofile/avatarpicker/AvatarPicker.kt @@ -41,11 +41,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.core.net.toUri import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.ArrowRightIcon import com.wire.android.ui.common.bottomsheet.MenuBottomSheetItem import com.wire.android.ui.common.bottomsheet.MenuItemIcon @@ -72,7 +72,7 @@ import kotlinx.coroutines.withContext import okio.Path @RootNavGraph -@Destination +@WireDestination @Composable fun AvatarPickerScreen( navigator: Navigator, diff --git a/app/src/main/kotlin/com/wire/android/ui/userprofile/other/OtherUserProfileScreen.kt b/app/src/main/kotlin/com/wire/android/ui/userprofile/other/OtherUserProfileScreen.kt index 1cd3352fe91..638ef43e6a9 100644 --- a/app/src/main/kotlin/com/wire/android/ui/userprofile/other/OtherUserProfileScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/userprofile/other/OtherUserProfileScreen.kt @@ -55,13 +55,13 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.authentication.devices.model.Device import com.wire.android.ui.common.CollapsingTopBarScaffold @@ -114,7 +114,7 @@ import kotlinx.coroutines.flow.FlowCollector import kotlinx.coroutines.launch @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = OtherUserProfileNavArgs::class, style = PopUpNavigationAnimation::class, ) diff --git a/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileScreen.kt b/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileScreen.kt index a70301d3cb2..7ae6b218993 100644 --- a/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileScreen.kt @@ -48,7 +48,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.NavResult import com.ramcosta.composedestinations.result.ResultRecipient @@ -59,6 +58,7 @@ import com.wire.android.model.ClickBlockParams import com.wire.android.model.Clickable import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.navigation.style.PopUpNavigationAnimation import com.wire.android.ui.common.ArrowRightIcon import com.wire.android.ui.common.RowItemTemplate @@ -104,7 +104,7 @@ import com.wire.kalium.logic.data.user.UserAvailabilityStatus import com.wire.kalium.logic.data.user.UserId @RootNavGraph -@Destination( +@WireDestination( style = PopUpNavigationAnimation::class, ) @Composable diff --git a/app/src/main/kotlin/com/wire/android/ui/userprofile/service/ServiceDetailsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/userprofile/service/ServiceDetailsScreen.kt index c59f845c43d..fa0dd677f64 100644 --- a/app/src/main/kotlin/com/wire/android/ui/userprofile/service/ServiceDetailsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/userprofile/service/ServiceDetailsScreen.kt @@ -38,11 +38,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.hilt.navigation.compose.hiltViewModel -import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.model.ClickBlockParams import com.wire.android.navigation.Navigator +import com.wire.android.navigation.WireDestination import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.colorsScheme import com.wire.android.ui.common.dimensions @@ -58,7 +58,7 @@ import com.wire.android.ui.userprofile.common.UserProfileInfo import com.wire.kalium.logic.data.service.ServiceDetails @RootNavGraph -@Destination( +@WireDestination( navArgsDelegate = ServiceDetailsNavArgs::class ) @Composable From 26de64e864a08130f7220da68f4359432073d481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Saleniuk?= Date: Mon, 15 Jul 2024 15:00:30 +0200 Subject: [PATCH 2/2] conflicts resolved after cherry-pick --- .../com/wire/android/ui/debug/DebugScreen.kt | 5 +- .../CreatePasswordProtectedGuestLinkScreen.kt | 5 - .../metadata/EditConversationNameScreen.kt | 3 - .../media/preview/ImagesPreviewScreen.kt | 6 - .../AddMembersSearchScreen.kt | 4 - .../all/AllConversationScreen.kt | 6 - .../conversationslist/call/CallsScreen.kt | 122 ----------------- .../mention/MentionScreen.kt | 123 ------------------ .../groupname/NewGroupNameScreen.kt | 5 - .../NewGroupConversationSearchPeopleScreen.kt | 10 -- .../NewConversationSearchPeopleScreen.kt | 5 - .../settings/privacy/PrivacySettingsScreen.kt | 3 - 12 files changed, 1 insertion(+), 296 deletions(-) delete mode 100644 app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt delete mode 100644 app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt diff --git a/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt b/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt index 127a6d3c034..5fa57d82b8a 100644 --- a/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/debug/DebugScreen.kt @@ -42,12 +42,9 @@ import com.wire.android.R import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator -<<<<<<< HEAD -import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.dimensions -======= +import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.navigation.WireDestination ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.topappbar.NavigationIconType import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.destinations.MigrationScreenDestination diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt index 3911854550c..14657eb5ba1 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editguestaccess/createPasswordProtectedGuestLink/CreatePasswordProtectedGuestLinkScreen.kt @@ -45,11 +45,6 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.ImeAction import androidx.hilt.navigation.compose.hiltViewModel -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -======= -import androidx.navigation.NavHostController ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt index 379274de0d5..20644309fb4 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/metadata/EditConversationNameScreen.kt @@ -24,12 +24,9 @@ import androidx.hilt.navigation.compose.hiltViewModel import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.navigation.Navigator -<<<<<<< HEAD import com.wire.android.ui.common.groupname.GroupMetadataState import com.wire.android.ui.common.groupname.GroupNameMode -======= import com.wire.android.navigation.WireDestination ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.groupname.GroupNameScreen import com.wire.android.ui.theme.WireTheme import com.wire.android.util.ui.PreviewMultipleThemes diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt index 866534411b5..42c82357f09 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/media/preview/ImagesPreviewScreen.kt @@ -48,12 +48,6 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -======= -import coil.compose.AsyncImage -import coil.request.ImageRequest ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.result.ResultBackNavigator import com.wire.android.R diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt index 0c9b9b9ab7e..7ae3f65491b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/search/adddembertoconversation/AddMembersSearchScreen.kt @@ -24,11 +24,7 @@ import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator -<<<<<<< HEAD -======= import com.wire.android.navigation.WireDestination -import com.wire.android.ui.common.collectAsStateLifecycleAware ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.destinations.OtherUserProfileScreenDestination import com.wire.android.ui.destinations.ServiceDetailsScreenDestination import com.wire.android.ui.home.conversations.search.AddMembersSearchNavArgs diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt index 727c4c656d6..25c74e11a83 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/all/AllConversationScreen.kt @@ -34,12 +34,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -======= -import androidx.compose.ui.tooling.preview.Preview -import androidx.hilt.navigation.compose.hiltViewModel ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.R import com.wire.android.appLogger import com.wire.android.navigation.HomeNavGraph diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt deleted file mode 100644 index 2c1e8f4de7b..00000000000 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/call/CallsScreen.kt +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Wire - * Copyright (C) 2024 Wire Swiss GmbH - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/. - */ - -package com.wire.android.ui.home.conversationslist.call - -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.LazyListState -import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import com.wire.android.R -import com.wire.android.navigation.HomeNavGraph -import com.wire.android.navigation.WireDestination -import com.wire.android.ui.home.HomeStateHolder -import com.wire.android.ui.home.conversationslist.ConversationItemType -import com.wire.android.ui.home.conversationslist.ConversationRouterHomeBridge -import com.wire.android.ui.home.conversationslist.common.ConversationItemFactory -import com.wire.android.ui.home.conversationslist.model.ConversationItem -import com.wire.android.util.extension.folderWithElements -import com.wire.kalium.logic.data.id.ConversationId -import com.wire.kalium.logic.data.user.UserId - -@HomeNavGraph -@WireDestination -@Composable -fun CallsScreen(homeStateHolder: HomeStateHolder) { - with(homeStateHolder) { - ConversationRouterHomeBridge( - navigator = navigator, - conversationItemType = ConversationItemType.CALLS, - onHomeBottomSheetContentChanged = ::changeBottomSheetContent, - onOpenBottomSheet = ::openBottomSheet, - onCloseBottomSheet = ::closeBottomSheet, - onSnackBarStateChanged = ::setSnackBarState, - searchBarState = searchBarState, - isBottomSheetVisible = ::isBottomSheetVisible - ) - } -} - -@Composable -fun CallsScreenContent( - missedCalls: List = emptyList(), - callHistory: List = emptyList(), - onCallItemClick: (ConversationId) -> Unit, - onEditConversationItem: (ConversationItem) -> Unit, - onOpenUserProfile: (UserId) -> Unit -) { - val lazyListState = rememberLazyListState() - - CallContent( - lazyListState = lazyListState, - missedCalls = missedCalls, - callHistory = callHistory, - onCallItemClick = onCallItemClick, - onEditConversationItem = onEditConversationItem, - onOpenUserProfile = onOpenUserProfile - ) -} - -@Composable -fun CallContent( - lazyListState: LazyListState, - missedCalls: List, - callHistory: List, - onCallItemClick: (ConversationId) -> Unit, - onEditConversationItem: (ConversationItem) -> Unit, - onOpenUserProfile: (UserId) -> Unit -) { - val context = LocalContext.current - LazyColumn( - state = lazyListState, - modifier = Modifier.fillMaxSize() - ) { - folderWithElements( - header = context.getString(R.string.calls_label_missed_calls), - items = missedCalls.associateBy { it.conversationId.toString() } - ) { missedCall -> - ConversationItemFactory( - conversation = missedCall, - openConversation = onCallItemClick, - openMenu = onEditConversationItem, - openUserProfile = onOpenUserProfile, - joinCall = { }, - onPermissionPermanentlyDenied = {}, - searchQuery = "" - ) - } - - folderWithElements( - header = context.getString(R.string.calls_label_calls_history), - items = callHistory.associateBy { it.conversationId.toString() } - ) { callHistory -> - ConversationItemFactory( - conversation = callHistory, - openConversation = onCallItemClick, - openMenu = onEditConversationItem, - openUserProfile = onOpenUserProfile, - joinCall = { }, - onPermissionPermanentlyDenied = {}, - searchQuery = " " - ) - } - } -} diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt deleted file mode 100644 index 909ca158937..00000000000 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversationslist/mention/MentionScreen.kt +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Wire - * Copyright (C) 2024 Wire Swiss GmbH - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/. - */ - -package com.wire.android.ui.home.conversationslist.mention - -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.LazyListState -import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import com.wire.android.R -import com.wire.android.navigation.HomeNavGraph -import com.wire.android.navigation.WireDestination -import com.wire.android.ui.home.HomeStateHolder -import com.wire.android.ui.home.conversationslist.ConversationItemType -import com.wire.android.ui.home.conversationslist.ConversationRouterHomeBridge -import com.wire.android.ui.home.conversationslist.common.ConversationItemFactory -import com.wire.android.ui.home.conversationslist.model.ConversationItem -import com.wire.android.util.extension.folderWithElements -import com.wire.kalium.logic.data.id.ConversationId -import com.wire.kalium.logic.data.user.UserId - -@HomeNavGraph -@WireDestination -@Composable -fun MentionScreen(homeStateHolder: HomeStateHolder) { - with(homeStateHolder) { - ConversationRouterHomeBridge( - navigator = navigator, - conversationItemType = ConversationItemType.MENTIONS, - onHomeBottomSheetContentChanged = ::changeBottomSheetContent, - onOpenBottomSheet = ::openBottomSheet, - onCloseBottomSheet = ::closeBottomSheet, - onSnackBarStateChanged = ::setSnackBarState, - searchBarState = searchBarState, - isBottomSheetVisible = ::isBottomSheetVisible - ) - } -} - -@Composable -fun MentionScreenContent( - unreadMentions: List = emptyList(), - allMentions: List = emptyList(), - onMentionItemClick: (ConversationId) -> Unit, - onEditConversationItem: (ConversationItem) -> Unit, - onOpenUserProfile: (UserId) -> Unit, - openConversationNotificationsSettings: (ConversationItem) -> Unit -) { - val lazyListState = rememberLazyListState() - - MentionContent( - lazyListState = lazyListState, - unreadMentions = unreadMentions, - allMentions = allMentions, - onMentionItemClick = onMentionItemClick, - onEditConversationItem = onEditConversationItem, - onOpenUserProfile = onOpenUserProfile, - ) -} - -@Composable -private fun MentionContent( - lazyListState: LazyListState, - unreadMentions: List, - allMentions: List, - onMentionItemClick: (ConversationId) -> Unit, - onEditConversationItem: (ConversationItem) -> Unit, - onOpenUserProfile: (UserId) -> Unit, -) { - val context = LocalContext.current - LazyColumn( - state = lazyListState, - modifier = Modifier.fillMaxSize() - ) { - folderWithElements( - header = context.getString(R.string.mention_label_unread_mentions), - items = unreadMentions.associateBy { it.conversationId.toString() } - ) { unreadMention -> - ConversationItemFactory( - conversation = unreadMention, - openConversation = onMentionItemClick, - openMenu = onEditConversationItem, - openUserProfile = onOpenUserProfile, - joinCall = {}, - onPermissionPermanentlyDenied = {}, - searchQuery = "" - ) - } - - folderWithElements( - header = context.getString(R.string.mention_label_all_mentions), - items = allMentions.associateBy { it.conversationId.toString() } - ) { mention -> - ConversationItemFactory( - conversation = mention, - openConversation = onMentionItemClick, - openMenu = onEditConversationItem, - openUserProfile = onOpenUserProfile, - joinCall = {}, - onPermissionPermanentlyDenied = {}, - searchQuery = "" - ) - } - } -} diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt index 42c59dc2b34..abce3240695 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupname/NewGroupNameScreen.kt @@ -20,11 +20,6 @@ package com.wire.android.ui.home.newconversation.groupname import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -======= -import androidx.compose.ui.tooling.preview.Preview ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.navigation.BackStackMode import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt index eae21ce2132..eb870a6191c 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/groupsearch/NewGroupConversationSearchPeopleScreen.kt @@ -19,22 +19,12 @@ package com.wire.android.ui.home.newconversation.groupsearch import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -import com.wire.android.R -import com.wire.android.navigation.NavigationCommand -import com.wire.android.navigation.Navigator -======= -import androidx.hilt.navigation.compose.hiltViewModel import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator import com.wire.android.navigation.WireDestination -import com.wire.android.ui.common.collectAsStateLifecycleAware ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.destinations.NewGroupNameScreenDestination import com.wire.android.ui.destinations.OtherUserProfileScreenDestination -import com.wire.android.ui.home.conversations.search.SearchBarViewModel import com.wire.android.ui.home.conversations.search.SearchPeopleScreenType import com.wire.android.ui.home.conversations.search.SearchUsersAndServicesScreen import com.wire.android.ui.home.newconversation.NewConversationViewModel diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt index 2fc9adbf4c8..706b8cfb252 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/search/NewConversationSearchPeopleScreen.kt @@ -19,11 +19,6 @@ package com.wire.android.ui.home.newconversation.search import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource -<<<<<<< HEAD -import com.ramcosta.composedestinations.annotation.Destination -======= -import androidx.hilt.navigation.compose.hiltViewModel ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.R import com.wire.android.navigation.NavigationCommand import com.wire.android.navigation.Navigator diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt index da0db763dd8..1768c8bb9bc 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/privacy/PrivacySettingsScreen.kt @@ -28,14 +28,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import com.ramcosta.composedestinations.annotation.RootNavGraph import com.wire.android.R import com.wire.android.navigation.Navigator -<<<<<<< HEAD import com.wire.android.ui.common.colorsScheme import com.wire.android.ui.common.dimensions import com.wire.android.ui.common.divider.WireDivider import com.wire.android.ui.common.preview.MultipleThemePreviews -======= import com.wire.android.navigation.WireDestination ->>>>>>> 50f6423ec (fix: interaction during screen transitions [WPB-6533] 🍒 (#3180)) import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.home.conversations.details.options.ArrowType