diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/AudioRecordingStart.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/AudioRecordingStart.kt
index 6eebedd..12feaec 100644
--- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/AudioRecordingStart.kt
+++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/AudioRecordingStart.kt
@@ -66,7 +66,7 @@ fun AudioRecordingStart(
.semantics {
contentDescription = label
}
- .size(200.dp)
+ .size(250.dp)
.clip(shape = CircleShape),
colors = ButtonDefaults.outlinedButtonColors(),
) {
diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt
index 2e4bd50..883e842 100644
--- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt
+++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt
@@ -1,13 +1,25 @@
package app.myzel394.alibi.ui.components.RecorderScreen.molecules
import android.Manifest
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.combinedClickable
+import androidx.compose.foundation.gestures.detectTapGestures
+import androidx.compose.foundation.indication
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.CameraAlt
+import androidx.compose.material.ripple.rememberRipple
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Icon
@@ -16,11 +28,13 @@ import androidx.compose.material3.Text
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.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
+import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.contentDescription
@@ -29,9 +43,11 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import app.myzel394.alibi.R
import app.myzel394.alibi.db.AppSettings
+import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
import app.myzel394.alibi.ui.components.atoms.PermissionRequester
import app.myzel394.alibi.ui.models.VideoRecorderModel
+@OptIn(ExperimentalFoundationApi::class)
@Composable
fun VideoRecordingStart(
videoRecorder: VideoRecorderModel,
@@ -70,31 +86,45 @@ fun VideoRecordingStart(
) { trigger ->
val label = stringResource(R.string.ui_videoRecorder_action_start_label)
- Button(
- onClick = trigger,
+ Column(
modifier = Modifier
+ .size(250.dp)
+ .clip(CircleShape)
.semantics {
contentDescription = label
}
- .size(200.dp)
- .clip(shape = CircleShape),
- colors = ButtonDefaults.outlinedButtonColors(),
+ .combinedClickable(
+ interactionSource = remember { MutableInteractionSource() },
+ indication = rememberRipple(color = MaterialTheme.colorScheme.primary),
+ onClick = {
+ videoRecorder.startRecording(context, appSettings)
+ },
+ onLongClick = {
+ showSheet = true
+ },
+ ),
+ horizontalAlignment = Alignment.CenterHorizontally,
+ verticalArrangement = Arrangement.Center,
) {
- Column(
- horizontalAlignment = Alignment.CenterHorizontally,
- ) {
- Icon(
- Icons.Default.CameraAlt,
- contentDescription = null,
- modifier = Modifier
- .size(80.dp),
- )
- Spacer(modifier = Modifier.height(ButtonDefaults.IconSpacing))
- Text(
- label,
- style = MaterialTheme.typography.titleSmall,
- )
- }
+ Icon(
+ Icons.Default.CameraAlt,
+ contentDescription = null,
+ modifier = Modifier
+ .size(80.dp),
+ tint = MaterialTheme.colorScheme.primary,
+ )
+ Spacer(modifier = Modifier.height(ButtonDefaults.IconSpacing))
+ Text(
+ label,
+ style = MaterialTheme.typography.titleSmall,
+ color = MaterialTheme.colorScheme.primary,
+ )
+ Spacer(modifier = Modifier.height(ButtonDefaults.IconSpacing))
+ Text(
+ stringResource(R.string.ui_videoRecorder_action_configure_label),
+ style = MaterialTheme.typography.bodySmall,
+ color = MaterialTheme.colorScheme.onSurfaceVariant,
+ )
}
}
}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 21e8fb9..1c17b12 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -150,4 +150,5 @@
Hold down on button to preview your camera
Disable Torch
Enable Torch
+ Press long for configuration
\ No newline at end of file