diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2c474401..43fe15eb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,7 +14,7 @@ plugins { id("com.google.firebase.crashlytics") } -val composeVersion: String by rootProject.extra +val composeVersion = "1.2.0-beta02" kapt { correctErrorTypes = true @@ -113,7 +113,7 @@ android { } dependencies { - implementation("androidx.core:core-ktx:1.7.0") + implementation("androidx.core:core-ktx:1.8.0") androidTestImplementation("androidx.test:core:1.4.0") androidTestImplementation("androidx.test.ext:junit-ktx:1.1.3") testImplementation("junit:junit:4.13.2") @@ -127,7 +127,7 @@ dependencies { implementation("androidx.navigation:navigation-compose:2.5.0-rc01") // Material Design 3 - implementation("androidx.compose.material3:material3:1.0.0-alpha12") + implementation("androidx.compose.material3:material3:1.0.0-alpha13") // Hilt and navigation implementation("androidx.hilt:hilt-navigation-compose:1.0.0") diff --git a/app/src/main/java/com/sadellie/unitto/screens/about/AboutScreen.kt b/app/src/main/java/com/sadellie/unitto/screens/about/AboutScreen.kt index 1a13c115..65c3ea21 100644 --- a/app/src/main/java/com/sadellie/unitto/screens/about/AboutScreen.kt +++ b/app/src/main/java/com/sadellie/unitto/screens/about/AboutScreen.kt @@ -19,9 +19,9 @@ import androidx.compose.material3.OutlinedCard import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.rememberTopAppBarScrollState import androidx.compose.runtime.Composable import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll @@ -44,11 +44,7 @@ fun AboutScreen( navigateUpAction: () -> Unit = {} ) { val mContext = LocalContext.current - - val decayAnimationSpec = rememberSplineBasedDecay() - val scrollBehavior = remember(decayAnimationSpec) { - TopAppBarDefaults.exitUntilCollapsedScrollBehavior(decayAnimationSpec) - } + val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberSplineBasedDecay(), rememberTopAppBarScrollState()) Scaffold( modifier = Modifier diff --git a/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt b/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt index dd617d4b..e58cb020 100644 --- a/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt +++ b/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt @@ -5,12 +5,11 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material3.Scaffold import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.TopAppBarScrollBehavior +import androidx.compose.material3.rememberTopAppBarScrollState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier @@ -38,6 +37,8 @@ fun SecondScreen( navigateUp: () -> Unit, viewModel: MainViewModel = viewModel() ) { + val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarScrollState()) + var searchQuery: String by rememberSaveable { mutableStateOf(String()) } val favoritesOnly: Boolean = viewModel.favoritesOnly val focusManager = LocalFocusManager.current @@ -45,9 +46,6 @@ fun SecondScreen( val chipsRowLazyListState = rememberLazyListState() val currentUnit = if (leftSide) viewModel.unitFrom else viewModel.unitTo var chosenUnitGroup: UnitGroup? by rememberSaveable { mutableStateOf(currentUnit.group) } - val scrollBehavior: TopAppBarScrollBehavior = remember { - TopAppBarDefaults.enterAlwaysScrollBehavior() - } Scaffold( modifier = Modifier diff --git a/app/src/main/java/com/sadellie/unitto/screens/setttings/SettingsScreen.kt b/app/src/main/java/com/sadellie/unitto/screens/setttings/SettingsScreen.kt index 7038d3c7..74ce120f 100644 --- a/app/src/main/java/com/sadellie/unitto/screens/setttings/SettingsScreen.kt +++ b/app/src/main/java/com/sadellie/unitto/screens/setttings/SettingsScreen.kt @@ -16,10 +16,10 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.rememberTopAppBarScrollState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier @@ -45,15 +45,10 @@ fun SettingsScreen( navControllerAction: (String) -> Unit ) { val mContext = LocalContext.current - // Scrollable - val decayAnimationSpec = rememberSplineBasedDecay() - val scrollBehavior = remember(decayAnimationSpec) { - TopAppBarDefaults.exitUntilCollapsedScrollBehavior(decayAnimationSpec) - } + val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberSplineBasedDecay(), rememberTopAppBarScrollState()) var currentDialogState: Int by rememberSaveable { mutableStateOf(0) } - val currentAppTheme: Int = mainViewModel.currentTheme Scaffold( modifier = Modifier @@ -153,7 +148,7 @@ fun SettingsScreen( onClick = { navControllerAction(ABOUT_SCREEN) } ) - BuildConfig.StoreLink?.let { + BuildConfig.StoreLink.let { SettingsListItem( label = stringResource(R.string.rate_this_app), onClick = { @@ -205,7 +200,7 @@ fun SettingsScreen( AlertDialogWithList( title = stringResource(id = R.string.theme_setting), listItems = APP_THEMES, - selectedItemIndex = currentAppTheme, + selectedItemIndex = mainViewModel.currentTheme, selectAction = { mainViewModel.updateCurrentAppTheme(it) }, dismissAction = { currentDialogState = 0 }, // Show note for users with devices that support custom Dynamic theming diff --git a/build.gradle.kts b/build.gradle.kts index 31a0dc64..ccbed4be 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,5 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - - val composeVersion by extra ("1.2.0-beta02") - repositories { google() mavenCentral() @@ -16,7 +13,7 @@ buildscript { classpath("com.google.gms:google-services:4.3.10") // Crashlytics - classpath("com.google.firebase:firebase-crashlytics-gradle:2.8.1") + classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.0") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle.kts files