Skip to content

Commit 673ed43

Browse files
committed
Aperture: Fix devices without a back camera
Change-Id: If39c7208718e456c32a98e4568e0e86cfaf298c6
1 parent f4f197a commit 673ed43

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

app/src/main/java/org/lineageos/aperture/repositories/CameraRepository.kt

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import kotlinx.coroutines.flow.mapLatest
2424
import kotlinx.coroutines.flow.shareIn
2525
import org.lineageos.aperture.ext.permissionGranted
2626
import org.lineageos.aperture.models.Camera
27+
import org.lineageos.aperture.models.CameraFacing
2728

2829
/**
2930
* Repository that provides camera devices.
@@ -63,13 +64,13 @@ class CameraRepository(
6364

6465
val mainBackCamera by lazy {
6566
internalCameras.firstOrNull { camera ->
66-
camera.cameraId == DEFAULT_BACK_CAMERA_ID
67+
camera.cameraFacing == CameraFacing.BACK
6768
}
6869
}
6970

7071
val mainFrontCamera by lazy {
7172
internalCameras.firstOrNull { camera ->
72-
camera.cameraId == DEFAULT_FRONT_CAMERA_ID
73+
camera.cameraFacing == CameraFacing.FRONT
7374
}
7475
}
7576

@@ -115,17 +116,7 @@ class CameraRepository(
115116
val camera2CameraInfo = Camera2CameraInfo.from(this)
116117

117118
return when (camera2CameraInfo.cameraId) {
118-
DEFAULT_BACK_CAMERA_ID -> true.also {
119-
require(lensFacing == CameraSelector.LENS_FACING_BACK) {
120-
"Camera with ID ${camera2CameraInfo.cameraId} is not a back camera"
121-
}
122-
}
123-
124-
DEFAULT_FRONT_CAMERA_ID -> true.also {
125-
require(lensFacing == CameraSelector.LENS_FACING_FRONT) {
126-
"Camera with ID ${camera2CameraInfo.cameraId} is not a front camera"
127-
}
128-
}
119+
in mainCameraIds -> true
129120

130121
else -> {
131122
val isIgnoredAuxCamera = overlaysRepository.ignoredAuxCameraIds.contains(
@@ -154,7 +145,12 @@ class CameraRepository(
154145
) { "Camera permission not granted" }
155146

156147
companion object {
157-
private const val DEFAULT_BACK_CAMERA_ID = "0"
158-
private const val DEFAULT_FRONT_CAMERA_ID = "1"
148+
/**
149+
* List of main camera IDs. These should never be excluded.
150+
*/
151+
private val mainCameraIds = setOf(
152+
"0",
153+
"1",
154+
)
159155
}
160156
}

0 commit comments

Comments
 (0)