Revert "Fix banners-related issues" (#9186)
Revert "Fix banners-related issues (#9143)"
This reverts commit 63048d2f0b
.
This commit is contained in:
parent
ed32a511e7
commit
c0f94ae8af
4 changed files with 26 additions and 29 deletions
|
@ -69,8 +69,7 @@ fun AppStateBanners(
|
||||||
val mainInsets = WindowInsets.statusBars
|
val mainInsets = WindowInsets.statusBars
|
||||||
val mainInsetsTop = mainInsets.getTop(density)
|
val mainInsetsTop = mainInsets.getTop(density)
|
||||||
SubcomposeLayout(modifier = modifier) { constraints ->
|
SubcomposeLayout(modifier = modifier) { constraints ->
|
||||||
val indexingId = if (indexing) 0 else -1
|
val indexingPlaceable = subcompose(0) {
|
||||||
val indexingPlaceable = subcompose(indexingId) {
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
visible = indexing,
|
visible = indexing,
|
||||||
enter = expandVertically(),
|
enter = expandVertically(),
|
||||||
|
@ -83,8 +82,7 @@ fun AppStateBanners(
|
||||||
}.fastMap { it.measure(constraints) }
|
}.fastMap { it.measure(constraints) }
|
||||||
val indexingHeight = indexingPlaceable.fastMaxBy { it.height }?.height ?: 0
|
val indexingHeight = indexingPlaceable.fastMaxBy { it.height }?.height ?: 0
|
||||||
|
|
||||||
val downloadedId = if (indexing) 1 else 0
|
val downloadedOnlyPlaceable = subcompose(1) {
|
||||||
val downloadedOnlyPlaceable = subcompose(downloadedId) {
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
visible = downloadedOnlyMode,
|
visible = downloadedOnlyMode,
|
||||||
enter = expandVertically(),
|
enter = expandVertically(),
|
||||||
|
@ -98,12 +96,7 @@ fun AppStateBanners(
|
||||||
}.fastMap { it.measure(constraints) }
|
}.fastMap { it.measure(constraints) }
|
||||||
val downloadedOnlyHeight = downloadedOnlyPlaceable.fastMaxBy { it.height }?.height ?: 0
|
val downloadedOnlyHeight = downloadedOnlyPlaceable.fastMaxBy { it.height }?.height ?: 0
|
||||||
|
|
||||||
val incognitoId = when {
|
val incognitoPlaceable = subcompose(2) {
|
||||||
indexing && downloadedOnlyMode -> 3
|
|
||||||
indexing || downloadedOnlyMode -> 2
|
|
||||||
else -> 1
|
|
||||||
}
|
|
||||||
val incognitoPlaceable = subcompose(incognitoId) {
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
visible = incognitoMode,
|
visible = incognitoMode,
|
||||||
enter = expandVertically(),
|
enter = expandVertically(),
|
||||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.presentation.util
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.ProvidableCompositionLocal
|
import androidx.compose.runtime.ProvidableCompositionLocal
|
||||||
import androidx.compose.runtime.staticCompositionLocalOf
|
import androidx.compose.runtime.staticCompositionLocalOf
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import cafe.adriel.voyager.core.screen.Screen
|
import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.core.screen.ScreenKey
|
import cafe.adriel.voyager.core.screen.ScreenKey
|
||||||
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
||||||
|
@ -34,7 +33,7 @@ interface AssistContentScreen {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun DefaultNavigatorScreenTransition(navigator: Navigator, modifier: Modifier = Modifier) {
|
fun DefaultNavigatorScreenTransition(navigator: Navigator) {
|
||||||
val slideDistance = rememberSlideDistance()
|
val slideDistance = rememberSlideDistance()
|
||||||
ScreenTransition(
|
ScreenTransition(
|
||||||
navigator = navigator,
|
navigator = navigator,
|
||||||
|
@ -44,6 +43,5 @@ fun DefaultNavigatorScreenTransition(navigator: Navigator, modifier: Modifier =
|
||||||
slideDistance = slideDistance,
|
slideDistance = slideDistance,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
modifier = modifier,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.expandVertically
|
import androidx.compose.animation.expandVertically
|
||||||
import androidx.compose.animation.shrinkVertically
|
import androidx.compose.animation.shrinkVertically
|
||||||
import androidx.compose.animation.with
|
import androidx.compose.animation.with
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.consumeWindowInsets
|
import androidx.compose.foundation.layout.consumeWindowInsets
|
||||||
|
@ -112,21 +113,24 @@ object HomeScreen : Screen() {
|
||||||
},
|
},
|
||||||
contentWindowInsets = WindowInsets(0),
|
contentWindowInsets = WindowInsets(0),
|
||||||
) { contentPadding ->
|
) { contentPadding ->
|
||||||
AnimatedContent(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(contentPadding)
|
.padding(contentPadding)
|
||||||
.consumeWindowInsets(contentPadding),
|
.consumeWindowInsets(contentPadding),
|
||||||
targetState = tabNavigator.current,
|
) {
|
||||||
transitionSpec = {
|
AnimatedContent(
|
||||||
materialFadeThroughIn(initialScale = 1f, durationMillis = TabFadeDuration) with
|
targetState = tabNavigator.current,
|
||||||
materialFadeThroughOut(durationMillis = TabFadeDuration)
|
transitionSpec = {
|
||||||
},
|
materialFadeThroughIn(initialScale = 1f, durationMillis = TabFadeDuration) with
|
||||||
content = {
|
materialFadeThroughOut(durationMillis = TabFadeDuration)
|
||||||
tabNavigator.saveableState(key = "currentTab", it) {
|
},
|
||||||
it.Content()
|
content = {
|
||||||
}
|
tabNavigator.saveableState(key = "currentTab", it) {
|
||||||
},
|
it.Content()
|
||||||
)
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ import android.widget.Toast
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.BackHandler
|
import androidx.activity.compose.BackHandler
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.WindowInsetsSides
|
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||||
import androidx.compose.foundation.layout.consumeWindowInsets
|
import androidx.compose.foundation.layout.consumeWindowInsets
|
||||||
|
@ -221,14 +222,15 @@ class MainActivity : BaseActivity() {
|
||||||
},
|
},
|
||||||
contentWindowInsets = scaffoldInsets,
|
contentWindowInsets = scaffoldInsets,
|
||||||
) { contentPadding ->
|
) { contentPadding ->
|
||||||
// Shows current screen
|
|
||||||
// Consume insets already used by app state banners
|
// Consume insets already used by app state banners
|
||||||
DefaultNavigatorScreenTransition(
|
Box(
|
||||||
navigator = navigator,
|
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(contentPadding)
|
.padding(contentPadding)
|
||||||
.consumeWindowInsets(contentPadding),
|
.consumeWindowInsets(contentPadding),
|
||||||
)
|
) {
|
||||||
|
// Shows current screen
|
||||||
|
DefaultNavigatorScreenTransition(navigator = navigator)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pop source-related screens when incognito mode is turned off
|
// Pop source-related screens when incognito mode is turned off
|
||||||
|
|
Reference in a new issue