diff --git a/Jetsurvey/app/build.gradle.kts b/Jetsurvey/app/build.gradle.kts index bca0b27514..4172281d80 100644 --- a/Jetsurvey/app/build.gradle.kts +++ b/Jetsurvey/app/build.gradle.kts @@ -86,7 +86,6 @@ dependencies { debugImplementation(libs.androidx.compose.ui.tooling) implementation(libs.accompanist.permissions) - implementation(libs.accompanist.systemuicontroller) implementation(libs.coil.kt.compose) diff --git a/Jetsurvey/app/src/main/AndroidManifest.xml b/Jetsurvey/app/src/main/AndroidManifest.xml index 41e81fd0f2..479354d446 100644 --- a/Jetsurvey/app/src/main/AndroidManifest.xml +++ b/Jetsurvey/app/src/main/AndroidManifest.xml @@ -26,7 +26,8 @@ + android:exported="true" + android:windowSoftInputMode="adjustResize"> diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/MainActivity.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/MainActivity.kt index 83f639b95c..f9e2e651d6 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/MainActivity.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/MainActivity.kt @@ -18,11 +18,13 @@ package com.example.compose.jetsurvey import android.os.Bundle import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import com.example.compose.jetsurvey.theme.JetsurveyTheme class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { + enableEdgeToEdge() super.onCreate(savedInstanceState) setContent { diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInScreen.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInScreen.kt index 4230655113..949ff1ef43 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInScreen.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInScreen.kt @@ -27,7 +27,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.material3.Button -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Snackbar @@ -53,7 +52,6 @@ import com.example.compose.jetsurvey.theme.JetsurveyTheme import com.example.compose.jetsurvey.util.supportWideScreen import kotlinx.coroutines.launch -@OptIn(ExperimentalMaterial3Api::class) // Scaffold is experimental in m3 @Composable fun SignInScreen( email: String?, diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInSignUp.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInSignUp.kt index 9ddb076363..1eac47babd 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInSignUp.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignInSignUp.kt @@ -124,7 +124,6 @@ fun SignInSignUpTopAppBar( ) } -@OptIn(ExperimentalMaterial3Api::class) // OutlinedTextField is experimental in m3 @Composable fun Email( emailState: TextFieldState = remember { EmailState() }, @@ -166,7 +165,6 @@ fun Email( emailState.getError()?.let { error -> TextFieldError(textError = error) } } -@OptIn(ExperimentalMaterial3Api::class) // OutlinedTextField is experimental in m3 @Composable fun Password( label: String, diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignUpScreen.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignUpScreen.kt index d25e677072..4ab95e521a 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignUpScreen.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/SignUpScreen.kt @@ -21,7 +21,6 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.material3.Button -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -39,7 +38,6 @@ import com.example.compose.jetsurvey.theme.JetsurveyTheme import com.example.compose.jetsurvey.theme.stronglyDeemphasizedAlpha import com.example.compose.jetsurvey.util.supportWideScreen -@OptIn(ExperimentalMaterial3Api::class) // Scaffold is experimental in m3 @Composable fun SignUpScreen( email: String?, diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/WelcomeScreen.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/WelcomeScreen.kt index a546660d48..387088b1c0 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/WelcomeScreen.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/signinsignup/WelcomeScreen.kt @@ -31,7 +31,7 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Button import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface +import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -60,9 +60,10 @@ fun WelcomeScreen( ) { var showBranding by remember { mutableStateOf(true) } - Surface(modifier = Modifier.supportWideScreen()) { + Scaffold(modifier = Modifier.supportWideScreen()) { innerPadding -> Column( modifier = Modifier + .padding(innerPadding) .fillMaxWidth() .verticalScroll(rememberScrollState()) ) { diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyScreen.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyScreen.kt index 85edcdce77..b96629014b 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyScreen.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyScreen.kt @@ -21,11 +21,17 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.WindowInsetsSides.Companion.Bottom +import androidx.compose.foundation.layout.WindowInsetsSides.Companion.Horizontal import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Close @@ -50,8 +56,6 @@ import com.example.compose.jetsurvey.R import com.example.compose.jetsurvey.theme.stronglyDeemphasizedAlpha import com.example.compose.jetsurvey.util.supportWideScreen -@OptIn(ExperimentalMaterial3Api::class) -// Scaffold is experimental in m3 @Composable fun SurveyQuestionsScreen( surveyScreenData: SurveyScreenData, @@ -87,7 +91,6 @@ fun SurveyQuestionsScreen( } } -@OptIn(ExperimentalMaterial3Api::class) // Scaffold is experimental in m3 @Composable fun SurveyResultScreen( onDonePressed: () -> Unit, @@ -220,14 +223,14 @@ fun SurveyBottomBar( onNextPressed: () -> Unit, onDonePressed: () -> Unit ) { - Surface( - modifier = Modifier.fillMaxWidth(), - shadowElevation = 7.dp, - ) { - + Surface(shadowElevation = 7.dp) { Row( modifier = Modifier .fillMaxWidth() + // Since we're not using a Material component but we implement our own bottom bar, + // we will also need to implement our own edge-to-edge support. Similar to the + // NavigationBar, we add the horizontal and bottom padding if it hasn't been consumed yet. + .windowInsetsPadding(WindowInsets.systemBars.only(Horizontal + Bottom)) .padding(horizontal = 16.dp, vertical = 20.dp) ) { if (shouldShowPreviousButton) { diff --git a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/theme/Theme.kt b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/theme/Theme.kt index 8249621df9..340f1fe2ab 100644 --- a/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/theme/Theme.kt +++ b/Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/theme/Theme.kt @@ -21,8 +21,6 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable -import androidx.compose.runtime.DisposableEffect -import com.google.accompanist.systemuicontroller.rememberSystemUiController const val stronglyDeemphasizedAlpha = 0.6f const val slightlyDeemphasizedAlpha = 0.87f @@ -98,16 +96,6 @@ fun JetsurveyTheme( DarkColors } - val systemUiController = rememberSystemUiController() - DisposableEffect(systemUiController, useDarkTheme) { - systemUiController.setSystemBarsColor( - color = colors.surface, - darkIcons = !useDarkTheme - ) - - onDispose { } - } - MaterialTheme( colorScheme = colors, shapes = Shapes, diff --git a/Jetsurvey/app/src/main/res/values/themes.xml b/Jetsurvey/app/src/main/res/values/themes.xml index 99eeb7c1fa..210ab1b30c 100644 --- a/Jetsurvey/app/src/main/res/values/themes.xml +++ b/Jetsurvey/app/src/main/res/values/themes.xml @@ -15,10 +15,5 @@ ~ --> - - +