From 9202c211251bcc4aad6f87393ecbdc966b46ebc3 Mon Sep 17 00:00:00 2001
From: Myzel394 <50424412+Myzel394@users.noreply.github.com>
Date: Tue, 9 Jan 2024 22:35:18 +0100
Subject: [PATCH] fix: Handle unknown camera lenses
---
.../components/RecorderScreen/atoms/CameraSelectionButton.kt | 2 ++
.../ui/components/RecorderScreen/molecules/CamerasSelection.kt | 1 +
app/src/main/java/app/myzel394/alibi/ui/utils/camera-info.kt | 3 ++-
app/src/main/res/values/strings.xml | 1 +
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/atoms/CameraSelectionButton.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/atoms/CameraSelectionButton.kt
index 47e340b..d04e4e1 100644
--- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/atoms/CameraSelectionButton.kt
+++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/atoms/CameraSelectionButton.kt
@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Camera
import androidx.compose.material.icons.filled.Person
+import androidx.compose.material.icons.filled.QuestionMark
import androidx.compose.material.icons.filled.Videocam
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -98,4 +99,5 @@ val CAMERA_LENS_ICON_MAP = mapOf(
CameraInfo.Lens.BACK to Icons.Default.Camera,
CameraInfo.Lens.FRONT to Icons.Default.Person,
CameraInfo.Lens.EXTERNAL to Icons.Default.Videocam,
+ CameraInfo.Lens.UNKNOWN to Icons.Default.QuestionMark,
)
diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/CamerasSelection.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/CamerasSelection.kt
index 510f0f3..728fdb0 100644
--- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/CamerasSelection.kt
+++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/CamerasSelection.kt
@@ -20,6 +20,7 @@ fun CamerasSelection(
CameraInfo.Lens.BACK to stringResource(R.string.ui_videoRecorder_action_start_settings_cameraLens_back_label),
CameraInfo.Lens.FRONT to stringResource(R.string.ui_videoRecorder_action_start_settings_cameraLens_front_label),
CameraInfo.Lens.EXTERNAL to stringResource(R.string.ui_videoRecorder_action_start_settings_cameraLens_external_label),
+ CameraInfo.Lens.UNKNOWN to stringResource(R.string.ui_videoRecorder_action_start_settings_cameraLens_unknown_label),
)
Column {
diff --git a/app/src/main/java/app/myzel394/alibi/ui/utils/camera-info.kt b/app/src/main/java/app/myzel394/alibi/ui/utils/camera-info.kt
index df8d59b..fc8789a 100644
--- a/app/src/main/java/app/myzel394/alibi/ui/utils/camera-info.kt
+++ b/app/src/main/java/app/myzel394/alibi/ui/utils/camera-info.kt
@@ -16,10 +16,11 @@ data class CameraInfo(
BACK(CameraSelector.LENS_FACING_BACK),
FRONT(CameraSelector.LENS_FACING_FRONT),
EXTERNAL(CameraSelector.LENS_FACING_EXTERNAL),
+ UNKNOWN(999),
}
val lens: Lens
- get() = CAMERA_INT_TO_LENS_MAP[id]!!
+ get() = CAMERA_INT_TO_LENS_MAP[id] ?: Lens.UNKNOWN
companion object {
val CAMERA_INT_TO_LENS_MAP = mapOf(
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1536b9b..30e14c1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -187,4 +187,5 @@
To view your batches, open the Files app, go to the internal storage and then you will find your batches in following folders:
The final merged recordings will be saved in those folders. Each recording creates a subfolder to store the short batches in (\"%s\" for audio recordings, \"%s\" for video recordings). To view the individual batches, you may need to enable hidden files in the Files app.
Tap on a folder to open it in the Files app
+ Unknown
\ No newline at end of file