Merge pull request #357 from KryptKode/feat/capture-mode-toggle

add settings option for capture mode
This commit is contained in:
Tibor Kaputa
2022-10-24 16:31:26 +02:00
committed by GitHub
7 changed files with 73 additions and 6 deletions

View File

@ -26,6 +26,7 @@ import com.simplemobiletools.camera.R
import com.simplemobiletools.camera.extensions.*
import com.simplemobiletools.camera.helpers.*
import com.simplemobiletools.camera.interfaces.MyPreview
import com.simplemobiletools.camera.models.CaptureMode
import com.simplemobiletools.camera.models.MediaOutput
import com.simplemobiletools.camera.models.MySize
import com.simplemobiletools.camera.models.ResolutionOption
@ -209,7 +210,7 @@ class CameraXPreview(
private fun buildImageCapture(resolution: Size, rotation: Int): ImageCapture {
return Builder()
.setCaptureMode(CAPTURE_MODE_MINIMIZE_LATENCY)
.setCaptureMode(getCaptureMode())
.setFlashMode(flashMode)
.setJpegQuality(config.photoQuality)
.setTargetRotation(rotation)
@ -217,6 +218,13 @@ class CameraXPreview(
.build()
}
private fun getCaptureMode(): Int {
return when (config.captureMode) {
CaptureMode.MINIMISE_LATENCY -> CAPTURE_MODE_MINIMIZE_LATENCY
CaptureMode.MAXIMISE_QUALITY -> CAPTURE_MODE_MAXIMIZE_QUALITY
}
}
private fun buildVideoCapture(): VideoCapture<Recorder> {
val qualitySelector = QualitySelector.from(
videoQualityManager.getUserSelectedQuality(cameraSelector).toCameraXQuality(),