diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt b/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt index 88a93d3..f7a6951 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt @@ -31,6 +31,9 @@ class CrashActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { enableEdgeToEdge() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } super.onCreate(savedInstanceState) val crashLogs = intent.getStringExtra("crash_logs") diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/activities/MainActivity.kt b/app/src/main/kotlin/cn/super12138/todo/ui/activities/MainActivity.kt index 216311e..e3a94ab 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/activities/MainActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/activities/MainActivity.kt @@ -1,5 +1,6 @@ package cn.super12138.todo.ui.activities +import android.os.Build import android.os.Bundle import android.view.WindowManager import androidx.activity.ComponentActivity @@ -26,6 +27,9 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() enableEdgeToEdge() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } super.onCreate(savedInstanceState) setContent { val mainViewModel: MainViewModel = viewModel() diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/components/Scaffolds.kt b/app/src/main/kotlin/cn/super12138/todo/ui/components/Scaffolds.kt index 267818d..c5fbff3 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/components/Scaffolds.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/components/Scaffolds.kt @@ -4,9 +4,6 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.exclude -import androidx.compose.foundation.layout.ime -import androidx.compose.foundation.layout.safeContent import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api @@ -46,7 +43,7 @@ fun LargeTopAppBarScaffold( snackbarHost: @Composable () -> Unit = {}, floatingActionButton: @Composable () -> Unit = {}, floatingActionButtonPosition: FabPosition = FabPosition.End, - contentWindowInsets: WindowInsets = WindowInsets.safeContent.exclude(WindowInsets.ime), + contentWindowInsets: WindowInsets = ScaffoldDefaults.contentWindowInsets, content: @Composable (PaddingValues) -> Unit ) { val view = LocalView.current diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/editor/TodoEditorPage.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/editor/TodoEditorPage.kt index 6a25a9b..75cd940 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/editor/TodoEditorPage.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/editor/TodoEditorPage.kt @@ -66,13 +66,13 @@ import cn.super12138.todo.utils.VibrationUtils @OptIn(ExperimentalMaterial3Api::class, ExperimentalSharedTransitionApi::class) @Composable fun TodoEditorPage( + modifier: Modifier = Modifier, toDo: TodoEntity? = null, onSave: (TodoEntity) -> Unit, onDelete: () -> Unit, onNavigateUp: () -> Unit, sharedTransitionScope: SharedTransitionScope, - animatedVisibilityScope: AnimatedVisibilityScope, - modifier: Modifier = Modifier + animatedVisibilityScope: AnimatedVisibilityScope ) { var showExitConfirmDialog by rememberSaveable { mutableStateOf(false) } var showDeleteConfirmDialog by rememberSaveable { mutableStateOf(false) } diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt index 1e6b5f9..7b6aa52 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt @@ -11,12 +11,8 @@ import androidx.compose.animation.fadeOut import androidx.compose.animation.shrinkOut import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.exclude import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.ime import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeContent import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add @@ -123,7 +119,6 @@ fun MainPage( } } }, - contentWindowInsets = WindowInsets.safeContent.exclude(WindowInsets.ime), modifier = modifier ) { innerPadding -> if (windowSizeClass.windowWidthSizeClass == WindowWidthSizeClass.COMPACT) { diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt index 002be0a..e93fbbf 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/ManagerFragment.kt @@ -28,6 +28,7 @@ import cn.super12138.todo.ui.pages.main.components.TodoCard @OptIn(ExperimentalSharedTransitionApi::class) @Composable fun ManagerFragment( + modifier: Modifier = Modifier, state: LazyListState, list: List, onItemClick: (TodoEntity) -> Unit = {}, @@ -35,8 +36,7 @@ fun ManagerFragment( onItemChecked: (TodoEntity) -> Unit = {}, selectedTodoIds: List, sharedTransitionScope: SharedTransitionScope, - animatedVisibilityScope: AnimatedVisibilityScope, - modifier: Modifier = Modifier + animatedVisibilityScope: AnimatedVisibilityScope ) { val context = LocalContext.current LazyColumnCustomScrollBar( diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt index 4a1ceb7..3cebd4d 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt @@ -47,6 +47,7 @@ import cn.super12138.todo.utils.VibrationUtils @OptIn(ExperimentalFoundationApi::class, ExperimentalSharedTransitionApi::class) @Composable fun TodoCard( + modifier: Modifier = Modifier, id: Int, content: String, subject: String, @@ -57,8 +58,7 @@ fun TodoCard( onCardLongClick: () -> Unit = {}, onChecked: () -> Unit = {}, sharedTransitionScope: SharedTransitionScope, - animatedVisibilityScope: AnimatedVisibilityScope, - modifier: Modifier = Modifier + animatedVisibilityScope: AnimatedVisibilityScope ) { val view = LocalView.current val context = LocalContext.current diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoTopAppBar.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoTopAppBar.kt index d7a4e3f..84a5c6e 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoTopAppBar.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoTopAppBar.kt @@ -11,11 +11,6 @@ import androidx.compose.animation.scaleIn import androidx.compose.animation.shrinkOut import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.exclude -import androidx.compose.foundation.layout.ime -import androidx.compose.foundation.layout.safeContent -import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Close import androidx.compose.material.icons.outlined.Delete @@ -117,10 +112,7 @@ fun TodoTopAppBar( ).togetherWith( fadeOut(animationSpec = tween(90)) ) - }, - modifier = Modifier.windowInsetsPadding( - WindowInsets.safeContent.exclude(WindowInsets.ime) - ) + } ) { inSelectedMode -> if (!inSelectedMode) { IconButton(