|
|
|
@ -36,6 +36,7 @@ import androidx.navigation.navOptions
|
|
|
|
|
import androidx.tracing.trace
|
|
|
|
|
import com.google.samples.apps.nowinandroid.core.data.util.NetworkMonitor
|
|
|
|
|
import com.google.samples.apps.nowinandroid.core.ui.TrackDisposableJank
|
|
|
|
|
import com.google.samples.apps.nowinandroid.core.ui.stateInCoroutineScope
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.bookmarks.navigation.bookmarksRoute
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.bookmarks.navigation.navigateToBookmarks
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.foryou.navigation.forYouNavigationRoute
|
|
|
|
@ -47,9 +48,7 @@ import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination.BOOKM
|
|
|
|
|
import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination.FOR_YOU
|
|
|
|
|
import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination.INTERESTS
|
|
|
|
|
import kotlinx.coroutines.CoroutineScope
|
|
|
|
|
import kotlinx.coroutines.flow.SharingStarted
|
|
|
|
|
import kotlinx.coroutines.flow.map
|
|
|
|
|
import kotlinx.coroutines.flow.stateIn
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
|
fun rememberNiaAppState(
|
|
|
|
@ -95,11 +94,7 @@ class NiaAppState(
|
|
|
|
|
|
|
|
|
|
val isOffline = networkMonitor.isOnline
|
|
|
|
|
.map(Boolean::not)
|
|
|
|
|
.stateIn(
|
|
|
|
|
scope = coroutineScope,
|
|
|
|
|
started = SharingStarted.WhileSubscribed(5_000),
|
|
|
|
|
initialValue = false
|
|
|
|
|
)
|
|
|
|
|
.stateInCoroutineScope(coroutineScope, initialValue = false)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Map of top level destinations to be used in the TopBar, BottomBar and NavRail. The key is the
|
|
|
|
|