run spotless

pull/1902/head
Clara Fok 3 weeks ago
parent b91a965ae2
commit dc29a5eb62

@ -55,7 +55,6 @@ import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Provider
@AndroidEntryPoint @AndroidEntryPoint
class MainActivity : ComponentActivity() { class MainActivity : ComponentActivity() {
@ -166,7 +165,7 @@ class MainActivity : ComponentActivity() {
) { ) {
NiaApp( NiaApp(
appState, appState,
entryProviderBuilders = entryProviderBuilders entryProviderBuilders = entryProviderBuilders,
) )
} }
} }

@ -16,21 +16,16 @@
package com.google.samples.apps.nowinandroid.di package com.google.samples.apps.nowinandroid.di
import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigatorState import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigatorState
import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.scopes.ActivityRetainedScoped
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import kotlinx.serialization.modules.PolymorphicModuleBuilder import kotlinx.serialization.modules.PolymorphicModuleBuilder
import kotlinx.serialization.modules.SerializersModule import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.polymorphic import kotlinx.serialization.modules.polymorphic
import javax.inject.Provider
import javax.inject.Singleton import javax.inject.Singleton
@Module @Module
@ -50,8 +45,6 @@ object NiaNavigatorProvider {
// ): NiaNavigator = // ): NiaNavigator =
// NiaNavigator(state) // NiaNavigator(state)
/** /**
* Registers feature modules' polymorphic serializers to support * Registers feature modules' polymorphic serializers to support
* feature keys' save and restore by savedstate * feature keys' save and restore by savedstate

@ -19,24 +19,11 @@ package com.google.samples.apps.nowinandroid.navigation
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.navigation3.rememberListDetailSceneStrategy import androidx.compose.material3.adaptive.navigation3.rememberListDetailSceneStrategy
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.key
import androidx.compose.runtime.remember
import androidx.compose.runtime.snapshots.SnapshotStateList
import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.NavEntry
import androidx.navigation3.runtime.NavEntryDecorator
import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberDecoratedNavEntries
import androidx.navigation3.ui.NavDisplay import androidx.navigation3.ui.NavDisplay
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.getEntries import com.google.samples.apps.nowinandroid.core.navigation.getEntries
import com.google.samples.apps.nowinandroid.feature.bookmarks.api.navigation.BookmarksRoute
import com.google.samples.apps.nowinandroid.feature.foryou.api.navigation.ForYouRoute
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute
import kotlin.collections.forEach
import kotlin.collections.plus import kotlin.collections.plus
@OptIn(ExperimentalMaterial3AdaptiveApi::class) @OptIn(ExperimentalMaterial3AdaptiveApi::class)

@ -17,8 +17,8 @@
package com.google.samples.apps.nowinandroid.ui package com.google.samples.apps.nowinandroid.ui
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.foryou.api.navigation.ForYouRoute import com.google.samples.apps.nowinandroid.feature.foryou.api.navigation.ForYouRoute
import com.google.samples.apps.nowinandroid.feature.foryou.impl.ForYouScreen import com.google.samples.apps.nowinandroid.feature.foryou.impl.ForYouScreen

@ -1,4 +1,3 @@
<<<<<<< HEAD
# `:benchmarks` # `:benchmarks`
## Module dependency graph ## Module dependency graph
@ -133,8 +132,3 @@ classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
</details> </details>
<!--endregion--> <!--endregion-->
=======
# :benchmarks module
## Dependency graph
![Dependency graph](../docs/images/graphs/dep_graph_benchmarks.svg)
>>>>>>> a059e426 (Update readme and build dependency graph)

@ -16,9 +16,7 @@
package com.google.samples.apps.nowinandroid.core.navigation package com.google.samples.apps.nowinandroid.core.navigation
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.snapshots.SnapshotStateList
import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.junit4.createComposeRule
import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.createSavedStateHandle import androidx.lifecycle.createSavedStateHandle
@ -69,7 +67,7 @@ class NiaBackStackViewModelTest {
fun testNonTopLevelKeySaved() { fun testNonTopLevelKeySaved() {
val viewModel = createViewModel() val viewModel = createViewModel()
rule.setContent { rule.setContent {
val navigator = remember { NiaNavigator( viewModel.niaNavigatorState) } val navigator = remember { NiaNavigator(viewModel.niaNavigatorState) }
navigator.navigate(TestKeyFirst) navigator.navigate(TestKeyFirst)
} }
assertThat(viewModel.backStackMap.size).isEqualTo(1) assertThat(viewModel.backStackMap.size).isEqualTo(1)
@ -82,7 +80,7 @@ class NiaBackStackViewModelTest {
fun testTopLevelKeySaved() { fun testTopLevelKeySaved() {
val viewModel = createViewModel() val viewModel = createViewModel()
rule.setContent { rule.setContent {
val navigator = remember { NiaNavigator( viewModel.niaNavigatorState) } val navigator = remember { NiaNavigator(viewModel.niaNavigatorState) }
navigator.navigate(TestKeyFirst) navigator.navigate(TestKeyFirst)
navigator.navigate(TestTopLevelKeyFirst) navigator.navigate(TestTopLevelKeyFirst)
@ -103,7 +101,7 @@ class NiaBackStackViewModelTest {
fun testMultiStacksSaved() { fun testMultiStacksSaved() {
val viewModel = createViewModel() val viewModel = createViewModel()
rule.setContent { rule.setContent {
val navigator = remember { NiaNavigator( viewModel.niaNavigatorState) } val navigator = remember { NiaNavigator(viewModel.niaNavigatorState) }
navigator.navigate(TestKeyFirst) navigator.navigate(TestKeyFirst)
navigator.navigate(TestTopLevelKeyFirst) navigator.navigate(TestTopLevelKeyFirst)
navigator.navigate(TestKeySecond) navigator.navigate(TestKeySecond)
@ -124,7 +122,7 @@ class NiaBackStackViewModelTest {
fun testPopSaved() { fun testPopSaved() {
val viewModel = createViewModel() val viewModel = createViewModel()
rule.setContent { rule.setContent {
val navigator = remember { NiaNavigator( viewModel.niaNavigatorState) } val navigator = remember { NiaNavigator(viewModel.niaNavigatorState) }
navigator.navigate(TestKeyFirst) navigator.navigate(TestKeyFirst)

@ -46,7 +46,7 @@ class NiaBackStackViewModel @Inject constructor(
internal var backStackMap by savedStateHandle.saved( internal var backStackMap by savedStateHandle.saved(
serializer = MapSerializer( serializer = MapSerializer(
serializer<NiaNavKey>(), serializer<NiaNavKey>(),
serializer<List<NiaNavKey>>() serializer<List<NiaNavKey>>(),
), ),
configuration = config, configuration = config,
) { ) {

@ -78,7 +78,7 @@ class NiaNavigatorState(
// https://github.com/android/nowinandroid/issues/1934 // https://github.com/android/nowinandroid/issues/1934
class NiaNavigator @Inject constructor( class NiaNavigator @Inject constructor(
val navigatorState: NiaNavigatorState val navigatorState: NiaNavigatorState,
) { ) {
fun navigate(key: NiaNavKey) { fun navigate(key: NiaNavKey) {
val currentActiveSubStacks = linkedSetOf<NiaNavKey>() val currentActiveSubStacks = linkedSetOf<NiaNavKey>()
@ -117,8 +117,6 @@ class NiaNavigator @Inject constructor(
} }
updateActiveTopLevelKeys(currentActiveSubStacks.toList()) updateActiveTopLevelKeys(currentActiveSubStacks.toList())
} }
} }
fun pop() { fun pop() {
@ -148,7 +146,7 @@ public fun NiaNavigatorState.getEntries(
val decorated = key(topLevelKey) { val decorated = key(topLevelKey) {
val decorators = listOf( val decorators = listOf(
rememberSaveableStateHolderNavEntryDecorator(), rememberSaveableStateHolderNavEntryDecorator(),
rememberViewModelStoreNavEntryDecorator<NiaNavKey>() rememberViewModelStoreNavEntryDecorator<NiaNavKey>(),
) )
rememberDecoratedNavEntries( rememberDecoratedNavEntries(
backStack = backStacks[topLevelKey]!!, backStack = backStacks[topLevelKey]!!,
@ -161,4 +159,4 @@ public fun NiaNavigatorState.getEntries(
) )
} }
entries + decorated entries + decorated
} }

@ -21,8 +21,8 @@ import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.SnackbarResult.ActionPerformed import androidx.compose.material3.SnackbarResult.ActionPerformed
import androidx.compose.runtime.compositionLocalOf import androidx.compose.runtime.compositionLocalOf
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.bookmarks.api.navigation.BookmarksRoute import com.google.samples.apps.nowinandroid.feature.bookmarks.api.navigation.BookmarksRoute
import com.google.samples.apps.nowinandroid.feature.bookmarks.impl.BookmarksScreen import com.google.samples.apps.nowinandroid.feature.bookmarks.impl.BookmarksScreen
import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic

@ -17,8 +17,8 @@
package com.google.samples.apps.nowinandroid.feature.foryou.impl.navigation package com.google.samples.apps.nowinandroid.feature.foryou.impl.navigation
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.foryou.api.navigation.ForYouRoute import com.google.samples.apps.nowinandroid.feature.foryou.api.navigation.ForYouRoute
import com.google.samples.apps.nowinandroid.feature.foryou.impl.ForYouScreen import com.google.samples.apps.nowinandroid.feature.foryou.impl.ForYouScreen
import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic

@ -20,8 +20,8 @@ import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.navigation3.ListDetailSceneStrategy import androidx.compose.material3.adaptive.navigation3.ListDetailSceneStrategy
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute
import com.google.samples.apps.nowinandroid.feature.interests.impl.InterestsDetailPlaceholder import com.google.samples.apps.nowinandroid.feature.interests.impl.InterestsDetailPlaceholder
import com.google.samples.apps.nowinandroid.feature.interests.impl.InterestsScreen import com.google.samples.apps.nowinandroid.feature.interests.impl.InterestsScreen

@ -29,7 +29,6 @@ import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performClick
import androidx.navigation3.runtime.EntryProviderBuilder
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.ui.NavDisplay import androidx.navigation3.ui.NavDisplay
@ -37,9 +36,9 @@ import androidx.test.espresso.Espresso
import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository
import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme
import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.model.data.Topic
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaBackStackViewModel import com.google.samples.apps.nowinandroid.core.navigation.NiaBackStackViewModel
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.interests.api.R import com.google.samples.apps.nowinandroid.feature.interests.api.R
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute
import com.google.samples.apps.nowinandroid.feature.interests.impl.LIST_PANE_TEST_TAG import com.google.samples.apps.nowinandroid.feature.interests.impl.LIST_PANE_TEST_TAG
@ -50,7 +49,6 @@ import dagger.hilt.EntryPoint
import dagger.hilt.EntryPoints import dagger.hilt.EntryPoints
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityComponent import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.HiltAndroidTest
import dagger.hilt.android.testing.HiltTestApplication import dagger.hilt.android.testing.HiltTestApplication

@ -16,8 +16,8 @@
package com.google.samples.apps.nowinandroid.feature.search.api.navigation package com.google.samples.apps.nowinandroid.feature.search.api.navigation
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@Serializable @Serializable

@ -17,8 +17,8 @@
package com.google.samples.apps.nowinandroid.feature.search.impl.navigation package com.google.samples.apps.nowinandroid.feature.search.impl.navigation
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsRoute
import com.google.samples.apps.nowinandroid.feature.search.api.navigation.SearchRoute import com.google.samples.apps.nowinandroid.feature.search.api.navigation.SearchRoute
import com.google.samples.apps.nowinandroid.feature.search.impl.SearchScreen import com.google.samples.apps.nowinandroid.feature.search.impl.SearchScreen

@ -16,8 +16,8 @@
package com.google.samples.apps.nowinandroid.feature.topic.api.navigation package com.google.samples.apps.nowinandroid.feature.topic.api.navigation
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@Serializable @Serializable

@ -20,8 +20,8 @@ import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.navigation3.ListDetailSceneStrategy import androidx.compose.material3.adaptive.navigation3.ListDetailSceneStrategy
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.EntryProviderScope
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey import com.google.samples.apps.nowinandroid.core.navigation.NiaNavKey
import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigator
import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.TopicRoute import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.TopicRoute
import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic import com.google.samples.apps.nowinandroid.feature.topic.api.navigation.navigateToTopic
import com.google.samples.apps.nowinandroid.feature.topic.impl.TopicScreen import com.google.samples.apps.nowinandroid.feature.topic.impl.TopicScreen

@ -1,4 +1,3 @@
<<<<<<< HEAD
# `:lint` # `:lint`
## Module dependency graph ## Module dependency graph
@ -44,8 +43,3 @@ classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
</details> </details>
<!--endregion--> <!--endregion-->
=======
# :lint module
## Dependency graph
![Dependency graph](../docs/images/graphs/dep_graph_lint.svg)
>>>>>>> a059e426 (Update readme and build dependency graph)

@ -1,4 +1,3 @@
<<<<<<< HEAD
# `:ui-test-hilt-manifest` # `:ui-test-hilt-manifest`
## Module dependency graph ## Module dependency graph
@ -44,8 +43,3 @@ classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
</details> </details>
<!--endregion--> <!--endregion-->
=======
# :ui-test-hilt-manifest module
## Dependency graph
![Dependency graph](../docs/images/graphs/dep_graph_ui_test_hilt_manifest.svg)
>>>>>>> a059e426 (Update readme and build dependency graph)

Loading…
Cancel
Save