remove accompanist system ui

This commit is contained in:
Stefano Sansone 2024-02-26 23:37:51 +00:00
parent 8c56f6d50f
commit b4fc617219
5 changed files with 22 additions and 58 deletions

View file

@ -148,8 +148,6 @@ dependencies {
implementation(libs.apollo.runtime)
// TODO: Remove in favor of new Compose libs
implementation(libs.accompanist.systemuicontroller)
implementation(libs.accompanist.flowlayout)
implementation(libs.coil.kt.compose)

View file

@ -19,7 +19,6 @@ import app.omnivore.omnivore.feature.editinfo.EditInfoViewModel
import app.omnivore.omnivore.feature.library.SearchViewModel
import app.omnivore.omnivore.feature.root.RootView
import app.omnivore.omnivore.feature.save.SaveViewModel
import app.omnivore.omnivore.feature.settings.SettingsViewModel
import app.omnivore.omnivore.feature.theme.OmnivoreTheme
import com.pspdfkit.PSPDFKit
import dagger.hilt.android.AndroidEntryPoint
@ -58,6 +57,7 @@ class MainActivity : ComponentActivity() {
enableEdgeToEdge()
setContent {
OmnivoreTheme {
Box(
modifier = Modifier

View file

@ -4,7 +4,6 @@ import android.annotation.SuppressLint
import android.content.Intent
import android.net.Uri
import androidx.compose.foundation.Image
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.ClickableText
import androidx.compose.material3.*
@ -22,31 +21,16 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import app.omnivore.omnivore.R
import app.omnivore.omnivore.feature.theme.OmnivoreTheme
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.google.android.gms.common.GoogleApiAvailability
import kotlinx.coroutines.launch
@Composable
fun WelcomeScreen(viewModel: LoginViewModel) {
val systemUiController = rememberSystemUiController()
val useDarkIcons = !isSystemInDarkTheme()
DisposableEffect(systemUiController, useDarkIcons) {
systemUiController.setSystemBarsColor(
color = Color.Black,
darkIcons = true
)
onDispose {
systemUiController.setSystemBarsColor(
color = Color.Black,
darkIcons = useDarkIcons
)
}
}
OmnivoreTheme(darkTheme = false) {
Surface(modifier = Modifier.fillMaxSize(), color = Color(0xFFFCEBA8)) {
Surface(
modifier = Modifier.fillMaxSize(),
color = Color(0xFFFCEBA8)
) {
WelcomeScreenContent(viewModel = viewModel)
}
}
@ -55,9 +39,9 @@ fun WelcomeScreen(viewModel: LoginViewModel) {
@SuppressLint("CoroutineCreationDuringComposition")
@Composable
fun WelcomeScreenContent(viewModel: LoginViewModel) {
val registrationState: RegistrationState by viewModel
.registrationStateLiveData
.observeAsState(RegistrationState.SocialLogin)
val registrationState: RegistrationState by viewModel.registrationStateLiveData.observeAsState(
RegistrationState.SocialLogin
)
val snackBarHostState = remember { SnackbarHostState() }
val coroutineScope = rememberCoroutineScope()
@ -92,11 +76,13 @@ fun WelcomeScreenContent(viewModel: LoginViewModel) {
RegistrationState.SocialLogin -> {
Text(
text = stringResource(id = R.string.welcome_title),
color = MaterialTheme.colorScheme.onSurface,
style = MaterialTheme.typography.headlineLarge
)
Text(
text = stringResource(id = R.string.welcome_subtitle),
color = MaterialTheme.colorScheme.onSurface,
style = MaterialTheme.typography.titleSmall
)
@ -117,8 +103,7 @@ fun WelcomeScreenContent(viewModel: LoginViewModel) {
if (viewModel.errorMessage != null) {
coroutineScope.launch {
val result = snackBarHostState
.showSnackbar(
val result = snackBarHostState.showSnackbar(
viewModel.errorMessage!!,
actionLabel = "Dismiss",
duration = SnackbarDuration.Indefinite
@ -135,9 +120,8 @@ fun WelcomeScreenContent(viewModel: LoginViewModel) {
@Composable
fun AuthProviderView(viewModel: LoginViewModel) {
val isGoogleAuthAvailable: Boolean = GoogleApiAvailability
.getInstance()
.isGooglePlayServicesAvailable(LocalContext.current) == 0
val isGoogleAuthAvailable: Boolean =
GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(LocalContext.current) == 0
Row(
horizontalArrangement = Arrangement.Center
@ -153,22 +137,17 @@ fun AuthProviderView(viewModel: LoginViewModel) {
AppleAuthButton(viewModel)
ClickableText(
text = AnnotatedString(stringResource(R.string.welcome_screen_action_continue_with_email)),
style = MaterialTheme.typography.titleMedium
.plus(TextStyle(textDecoration = TextDecoration.Underline)),
onClick = { viewModel.showEmailSignIn() }
)
ClickableText(text = AnnotatedString(stringResource(R.string.welcome_screen_action_continue_with_email)),
style = MaterialTheme.typography.titleMedium.plus(TextStyle(textDecoration = TextDecoration.Underline)),
onClick = { viewModel.showEmailSignIn() })
Spacer(modifier = Modifier.weight(1.0F))
ClickableText(
text = AnnotatedString(stringResource(R.string.welcome_screen_action_self_hosting_options)),
style = MaterialTheme.typography.titleMedium
.plus(TextStyle(textDecoration = TextDecoration.Underline)),
style = MaterialTheme.typography.titleMedium.plus(TextStyle(textDecoration = TextDecoration.Underline)),
onClick = { viewModel.showSelfHostedSettings() },
modifier = Modifier
.padding(vertical = 10.dp)
modifier = Modifier.padding(vertical = 10.dp)
)
}
Spacer(modifier = Modifier.weight(1.0F))
@ -184,8 +163,7 @@ fun MoreInfoButton() {
text = AnnotatedString(
stringResource(id = R.string.learn_more),
),
style = MaterialTheme.typography.titleSmall
.plus(TextStyle(textDecoration = TextDecoration.Underline)),
style = MaterialTheme.typography.titleSmall.plus(TextStyle(textDecoration = TextDecoration.Underline)),
onClick = {
context.startActivity(intent)
},

View file

@ -30,7 +30,6 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
@ -61,7 +60,6 @@ import app.omnivore.omnivore.feature.notebook.NotebookView
import app.omnivore.omnivore.feature.notebook.NotebookViewModel
import app.omnivore.omnivore.feature.savedItemViews.SavedItemContextMenu
import app.omnivore.omnivore.feature.theme.OmnivoreTheme
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import kotlin.math.roundToInt
@ -81,18 +79,6 @@ class WebReaderLoadingContainerActivity : ComponentActivity() {
viewModel.loadItem(slug = slug, requestID = requestID)
setContent {
val systemUiController = rememberSystemUiController()
val useDarkIcons = !isSystemInDarkTheme()
DisposableEffect(systemUiController, useDarkIcons) {
systemUiController.setSystemBarsColor(
color = Color.Black,
darkIcons = false
)
onDispose {}
}
OmnivoreTheme {
Box(
modifier = Modifier

View file

@ -1,5 +1,6 @@
package app.omnivore.omnivore.feature.root
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
@ -18,6 +19,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
@ -50,7 +52,7 @@ fun RootView(
snackbarHost = { SnackbarHost(snackbarHostState) },
) { padding ->
Box(
modifier = Modifier
modifier = if (!hasAuthToken) Modifier.background(Color(0xFFFCEBA8)) else Modifier
.fillMaxSize()
.padding(padding)
.consumeWindowInsets(padding)