diff --git a/app/build.gradle b/app/build.gradle index 20252d1..489198d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -101,7 +101,7 @@ dependencies { implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.ui:ui-graphics' implementation 'androidx.compose.ui:ui-tooling-preview' - implementation 'androidx.compose.material3:material3' + implementation 'androidx.compose.material3:material3:1.1.2' implementation "androidx.compose.material:material-icons-extended:1.5.4" implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.documentfile:documentfile:1.0.1' diff --git a/app/src/main/java/app/myzel394/alibi/ui/Constants.kt b/app/src/main/java/app/myzel394/alibi/ui/Constants.kt index 9b2aac8..32e871b 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/Constants.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/Constants.kt @@ -5,7 +5,7 @@ import androidx.compose.ui.unit.dp val BIG_PRIMARY_BUTTON_SIZE = 64.dp -val SHEET_BOTTOM_OFFSET = 56.dp +val SHEET_BOTTOM_OFFSET = 24.dp val MAX_AMPLITUDE = 20000 val SUPPORTS_DARK_MODE_NATIVELY = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q diff --git a/app/src/main/java/app/myzel394/alibi/ui/Navigation.kt b/app/src/main/java/app/myzel394/alibi/ui/Navigation.kt index 78a30e0..7b68c8e 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/Navigation.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/Navigation.kt @@ -112,6 +112,7 @@ fun Navigation( SettingsScreen( navController = navController, audioRecorder = audioRecorder, + videoRecorder = videoRecorder, ) } composable( diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/QuickMaxDurationSelector.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/QuickMaxDurationSelector.kt index bc3ddc2..d494a1e 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/QuickMaxDurationSelector.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/QuickMaxDurationSelector.kt @@ -48,13 +48,14 @@ fun QuickMaxDurationSelector( ) { Column( horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() + .padding(bottom = SHEET_BOTTOM_OFFSET) ) { Box( modifier = Modifier .widthIn(max = 400.dp) - .padding(horizontal = 16.dp) - .padding(bottom = SHEET_BOTTOM_OFFSET), + .padding(horizontal = 16.dp, vertical = 24.dp), ) { Text( stringResource(R.string.ui_recorder_action_changeMaxDuration_title), @@ -88,8 +89,6 @@ fun QuickMaxDurationSelector( } } } - - Spacer(modifier = Modifier.height(32.dp)) } } } \ No newline at end of file diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt index 5fb96e8..e8061ee 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt @@ -111,7 +111,7 @@ fun VideoRecorderPreparationSheet( .fillMaxSize(), cameraSelector = videoSettings.cameraSelector, ) - } else + } else { Column( modifier = Modifier .padding(horizontal = 16.dp) @@ -218,6 +218,7 @@ fun VideoRecorderPreparationSheet( ) } } + } } } } \ No newline at end of file diff --git a/app/src/main/java/app/myzel394/alibi/ui/screens/SettingsScreen.kt b/app/src/main/java/app/myzel394/alibi/ui/screens/SettingsScreen.kt index 9729051..bc32bda 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/screens/SettingsScreen.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/screens/SettingsScreen.kt @@ -60,6 +60,7 @@ import app.myzel394.alibi.ui.components.atoms.MessageBox import app.myzel394.alibi.ui.components.atoms.MessageType import app.myzel394.alibi.ui.effects.rememberSettings import app.myzel394.alibi.ui.models.AudioRecorderModel +import app.myzel394.alibi.ui.models.VideoRecorderModel import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @@ -67,6 +68,7 @@ import kotlinx.coroutines.launch fun SettingsScreen( navController: NavController, audioRecorder: AudioRecorderModel, + videoRecorder: VideoRecorderModel, ) { val snackbarHostState = remember { SnackbarHostState() } val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior( @@ -120,7 +122,7 @@ fun SettingsScreen( val settings = rememberSettings() // Show alert - if (audioRecorder.isInRecording) + if (audioRecorder.isInRecording || videoRecorder.isInRecording) { Box( modifier = Modifier .padding(16.dp) @@ -131,6 +133,7 @@ fun SettingsScreen( message = stringResource(R.string.ui_settings_hint_recordingActive_message), ) } + } if (!SUPPORTS_DARK_MODE_NATIVELY) { ThemeSelector() } @@ -140,6 +143,10 @@ fun SettingsScreen( DeleteRecordingsImmediatelyTile(settings = settings) CustomNotificationTile(navController = navController, settings = settings) EnableAppLockTile(settings = settings) + SaveFolderTile( + settings = settings, + snackbarHostState = snackbarHostState, + ) GlobalSwitch( label = stringResource(R.string.ui_settings_advancedSettings_label), checked = settings.showAdvancedSettings, @@ -157,11 +164,6 @@ fun SettingsScreen( verticalArrangement = Arrangement.spacedBy(32.dp), ) { Column { - SaveFolderTile( - settings = settings, - snackbarHostState = snackbarHostState, - ) - DividerTitle( title = stringResource(R.string.ui_settings_sections_audio_title), description = stringResource(R.string.ui_settings_sections_audio_description),