Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc40a6ce

Browse files
authored
fix: compose previews not working with RootNavGraph on kotlin 2.1 [WPB-18203] (#4083)
1 parentdf44b2a commitc40a6ce

File tree

64 files changed

+45
-154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+45
-154
lines changed

‎app/src/main/kotlin/com/wire/android/navigation/MainNavHost.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import androidx.compose.runtime.Composable
2323
importandroidx.compose.runtime.remember
2424
importandroidx.compose.ui.Modifier
2525
importandroidx.hilt.navigation.compose.hiltViewModel
26-
importcom.google.accompanist.navigation.material.ExperimentalMaterialNavigationApi
2726
importcom.ramcosta.composedestinations.DestinationsNavHost
2827
importcom.ramcosta.composedestinations.animations.rememberAnimatedNavHostEngine
2928
importcom.ramcosta.composedestinations.manualcomposablecalls.composable
@@ -45,7 +44,7 @@ import com.wire.android.ui.home.conversations.ConversationScreen
4544
importcom.wire.android.ui.home.newconversation.NewConversationViewModel
4645
importcom.wire.android.ui.userprofile.teammigration.TeamMigrationViewModel
4746

48-
@OptIn(ExperimentalMaterialNavigationApi::class,ExperimentalAnimationApi::class)
47+
@OptIn(ExperimentalAnimationApi::class)
4948
@Composable
5049
funMainNavHost(
5150
navigator:Navigator,

‎app/src/main/kotlin/com/wire/android/navigation/NavigationUtils.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ import android.content.Context
2323
importandroidx.navigation.NavBackStackEntry
2424
importandroidx.navigation.NavController
2525
importandroidx.navigation.NavDestination
26-
importandroidx.navigation.NavOptionsBuilder
27-
importcom.ramcosta.composedestinations.navigation.navigate
26+
importcom.ramcosta.composedestinations.navigation.DestinationsNavOptionsBuilder
2827
importcom.ramcosta.composedestinations.spec.DestinationSpec
2928
importcom.ramcosta.composedestinations.spec.Direction
3029
importcom.ramcosta.composedestinations.spec.NavGraphSpec
3130
importcom.ramcosta.composedestinations.utils.findDestination
3231
importcom.ramcosta.composedestinations.utils.navGraph
3332
importcom.ramcosta.composedestinations.utils.route
33+
importcom.ramcosta.composedestinations.utils.toDestinationsNavigator
3434
importcom.wire.android.appLogger
3535
importcom.wire.android.util.CustomTabsHelper
3636
importcom.wire.kalium.logger.obfuscateId
@@ -47,7 +47,7 @@ internal fun NavController.navigateToItem(command: NavigationCommand) {
4747
funlastDestinationFromOtherGraph(graph:NavGraphSpec)= currentBackStack.value.lastOrNull { it.navGraph()!= graph }
4848

4949
appLogger.d("[$TAG] -> command:${command.destination.route.obfuscateId()} backStackMode:${command.backStackMode}")
50-
navigate(command.destination) {
50+
toDestinationsNavigator().navigate(command.destination) {
5151
when (command.backStackMode) {
5252
BackStackMode.CLEAR_WHOLE,BackStackMode.CLEAR_TILL_START-> {
5353
val inclusive= command.backStackMode==BackStackMode.CLEAR_WHOLE
@@ -82,18 +82,18 @@ internal fun NavController.navigateToItem(command: NavigationCommand) {
8282
}
8383
}
8484

85-
privatefunNavOptionsBuilder.popUpTo(
85+
privatefunDestinationsNavOptionsBuilder.popUpTo(
8686
inclusive:Boolean,
8787
getNavBackStackEntry: ()->NavBackStackEntry?,
8888
)= popUpTo({ inclusive }, getNavBackStackEntry)
8989

90-
privatefunNavOptionsBuilder.popUpTo(
90+
privatefunDestinationsNavOptionsBuilder.popUpTo(
9191
getInclusive: (NavBackStackEntry)->Boolean,
9292
getNavBackStackEntry: ()->NavBackStackEntry?,
9393
) {
9494
getNavBackStackEntry()?.let { entry->
9595
appLogger.d("[$TAG] -> popUpTo:${entry.destination.route?.obfuscateId()} inclusive:${getInclusive(entry)}")
96-
popUpTo(entry.destination.id) {
96+
popUpTo(entry.route()) {
9797
this.inclusive= getInclusive(entry)
9898
}
9999
}

‎app/src/main/kotlin/com/wire/android/navigation/Navigator.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package com.wire.android.navigation
1919

2020
importandroidx.compose.runtime.Composable
2121
importandroidx.compose.runtime.remember
22-
importandroidx.lifecycle.Lifecycle
2322
importandroidx.navigation.NavHostController
2423
importcom.ramcosta.composedestinations.utils.findDestination
2524

@@ -28,32 +27,25 @@ class Navigator(
2827
valnavController:NavHostController,
2928
valisAllowedToNavigate: (NavigationCommand)->Boolean = {true }
3029
) : WireNavigator {
31-
privateval isResumed:Boolean
32-
get()= navController.currentBackStackEntry?.lifecycle?.currentState==Lifecycle.State.RESUMED
33-
3430
/**
3531
* Navigates to the specified screen if it is allowed to navigate.
3632
* @param navigationCommand command containing the destination and back stack mode
37-
* @param onlyIfResumed if true, will ignore the navigation action if the current `NavBackStackEntry`
3833
* is not in the RESUMED state. This avoids duplicate navigation actions and should be used when it's the user action
3934
* or when we simply don't want to make more than one navigation action at a time (skip some destinations instantly).
4035
* More here: https://composedestinations.rafaelcosta.xyz/navigation/basics#avoiding-duplicate-navigation
4136
*/
42-
overridefunnavigate(navigationCommand:NavigationCommand,onlyIfResumed:Boolean) {
43-
if (onlyIfResumed&&!isResumed)return
37+
overridefunnavigate(navigationCommand:NavigationCommand) {
4438
if (!isAllowedToNavigate(navigationCommand))return
4539
navController.navigateToItem(navigationCommand)
4640
}
4741

4842
/**
4943
* Navigates back to the previous screen.
50-
* @param onlyIfResumed if true, will ignore the navigation action if the current `NavBackStackEntry`
5144
* is not in the RESUMED state. This avoids duplicate navigation actions and should be used when it's the user action
5245
* or when we simply don't want to make more than one navigation action at a time (skip some destinations instantly).
5346
* More here: https://composedestinations.rafaelcosta.xyz/navigation/basics#avoiding-duplicate-navigation
5447
*/
55-
overridefunnavigateBack(onlyIfResumed:Boolean) {
56-
if (onlyIfResumed&&!isResumed)return
48+
overridefunnavigateBack() {
5749
if (!navController.popBackStack()) finish()
5850
}
5951

‎app/src/main/kotlin/com/wire/android/navigation/WireMainNavGraph.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818
packagecom.wire.android.navigation
1919

20+
importcom.ramcosta.composedestinations.annotation.NavGraph
2021
importcom.ramcosta.composedestinations.spec.DestinationSpec
2122
importcom.ramcosta.composedestinations.spec.NavGraphSpec
2223
importcom.wire.android.feature.cells.ui.destinations.ConversationFilesScreenDestination
@@ -30,8 +31,8 @@ import com.wire.android.ui.NavGraphs
3031

3132
object WireMainNavGraph : NavGraphSpec {
3233
overrideval route="wire.main"
33-
overrideval startRoute=NavGraphs.root.startRoute
34-
val destinations:List<DestinationSpec<*>>=NavGraphs.root.destinations
34+
overrideval startRoute=NavGraphs.wireRoot.startRoute
35+
val destinations:List<DestinationSpec<*>>=NavGraphs.wireRoot.destinations
3536
.plus(DrawingCanvasScreenDestination)
3637
.plus(PublicLinkScreenDestination)
3738
.plus(ConversationFilesScreenDestination)
@@ -40,5 +41,10 @@ object WireMainNavGraph : NavGraphSpec {
4041
.plus(MoveToFolderScreenDestination)
4142
.plus(RecycleBinScreenDestination)
4243
overrideval destinationsByRoute= destinations.associateBy { it.route }
43-
overrideval nestedNavGraphs=NavGraphs.root.nestedNavGraphs
44+
overrideval nestedNavGraphs=NavGraphs.wireRoot.nestedNavGraphs
4445
}
46+
47+
@NavGraph(default=true)
48+
annotationclassWireRootNavGraph(
49+
valstart:Boolean =false
50+
)

‎app/src/main/kotlin/com/wire/android/ui/authentication/create/common/CreateAccountNavGraph.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,23 @@
1919
packagecom.wire.android.ui.authentication.create.common
2020

2121
importcom.ramcosta.composedestinations.annotation.NavGraph
22-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
22+
importcom.wire.android.navigation.WireRootNavGraph
2323

2424
@Deprecated("These destinations belongs to the old registration flow, please use the new one [CreateAccountNavGraph]")
25-
@RootNavGraph
25+
@WireRootNavGraph
2626
@NavGraph
2727
annotationclassCreatePersonalAccountNavGraph(
2828
valstart:Boolean =false
2929
)
3030

3131
@Deprecated("These destinations belongs to the old registration flow, please use the new one [CreateAccountNavGraph]")
32-
@RootNavGraph
32+
@WireRootNavGraph
3333
@NavGraph
3434
annotationclassCreateTeamAccountNavGraph(
3535
valstart:Boolean =false
3636
)
3737

38-
@RootNavGraph
38+
@WireRootNavGraph
3939
@NavGraph
4040
annotationclassCreateAccountNavGraph(
4141
valstart:Boolean =false

‎app/src/main/kotlin/com/wire/android/ui/authentication/create/username/CreateAccountUsernameScreen.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import androidx.compose.ui.Alignment
3232
importandroidx.compose.ui.Modifier
3333
importandroidx.compose.ui.res.stringResource
3434
importandroidx.hilt.navigation.compose.hiltViewModel
35-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
3635
importcom.wire.android.R
3736
importcom.wire.android.navigation.BackStackMode
3837
importcom.wire.android.navigation.NavigationCommand
@@ -53,7 +52,6 @@ import com.wire.android.ui.theme.wireDimensions
5352
importcom.wire.android.ui.theme.wireTypography
5453
importcom.wire.android.util.ui.PreviewMultipleThemes
5554

56-
@RootNavGraph
5755
@WireDestination(
5856
style=AuthPopUpNavigationAnimation::class
5957
)

‎app/src/main/kotlin/com/wire/android/ui/authentication/devices/register/RegisterDeviceScreen.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import androidx.compose.ui.platform.testTag
3939
importandroidx.compose.ui.res.stringResource
4040
importandroidx.compose.ui.text.input.ImeAction
4141
importandroidx.hilt.navigation.compose.hiltViewModel
42-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
4342
importcom.wire.android.R
4443
importcom.wire.android.feature.NavigationSwitchAccountActions
4544
importcom.wire.android.navigation.BackStackMode
@@ -74,7 +73,6 @@ import com.wire.android.ui.theme.wireDimensions
7473
importcom.wire.android.ui.theme.wireTypography
7574
importcom.wire.android.util.ui.PreviewMultipleThemes
7675

77-
@RootNavGraph
7876
@WireDestination(
7977
style=PopUpNavigationAnimation::class,
8078
)

‎app/src/main/kotlin/com/wire/android/ui/authentication/devices/remove/RemoveDeviceScreen.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import androidx.compose.ui.platform.LocalContext
3434
importandroidx.compose.ui.res.painterResource
3535
importandroidx.compose.ui.res.stringResource
3636
importandroidx.hilt.navigation.compose.hiltViewModel
37-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
3837
importcom.wire.android.R
3938
importcom.wire.android.feature.NavigationSwitchAccountActions
4039
importcom.wire.android.navigation.BackStackMode
@@ -68,7 +67,6 @@ import com.wire.android.util.dialogErrorStrings
6867
importcom.wire.android.util.ui.PreviewMultipleThemes
6968
importcom.wire.kalium.logic.data.conversation.ClientId
7069

71-
@RootNavGraph
7270
@WireDestination(
7371
style=PopUpNavigationAnimation::class,
7472
)

‎app/src/main/kotlin/com/wire/android/ui/authentication/login/LoginNavGraph.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
packagecom.wire.android.ui.authentication.login
1919

2020
importcom.ramcosta.composedestinations.annotation.NavGraph
21-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
21+
importcom.wire.android.navigation.WireRootNavGraph
2222

23-
@RootNavGraph
23+
@WireRootNavGraph
2424
@NavGraph
2525
annotationclassLoginNavGraph(valstart:Boolean =false)
2626

27-
@RootNavGraph
27+
@WireRootNavGraph
2828
@NavGraph
2929
annotationclassNewLoginNavGraph(valstart:Boolean =false)

‎app/src/main/kotlin/com/wire/android/ui/authentication/welcome/WelcomeScreen.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ import androidx.compose.ui.text.style.TextDecoration
6666
importandroidx.compose.ui.text.style.TextOverflow
6767
importandroidx.compose.ui.tooling.preview.Preview
6868
importandroidx.hilt.navigation.compose.hiltViewModel
69-
importcom.ramcosta.composedestinations.annotation.RootNavGraph
7069
importcom.wire.android.BuildConfig.ENABLE_NEW_REGISTRATION
7170
importcom.wire.android.R
7271
importcom.wire.android.config.LocalCustomUiConfigurationProvider
@@ -106,7 +105,6 @@ import kotlinx.coroutines.flow.flow
106105
importkotlinx.coroutines.flow.onEach
107106
importkotlinx.coroutines.flow.scan
108107

109-
@RootNavGraph
110108
@WireDestination(
111109
style=PopUpNavigationAnimation::class,
112110
navArgsDelegate=WelcomeNavArgs::class

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp