add always on torch mode for image capture

This commit is contained in:
darthpaul
2022-10-23 00:00:22 +01:00
parent 122841b641
commit 3d4c38de04
6 changed files with 52 additions and 10 deletions

View File

@ -402,15 +402,17 @@ class CameraXPreview(
}
override fun setFlashlightState(state: Int) {
val newFlashMode = state.toCameraXFlashMode()
if (!isPhotoCapture) {
camera?.cameraControl?.enableTorch(newFlashMode == FLASH_MODE_ON)
if (isPhotoCapture) {
camera?.cameraControl?.enableTorch(state == FLASH_ALWAYS_ON)
} else {
camera?.cameraControl?.enableTorch(state == FLASH_ON || state == FLASH_ALWAYS_ON)
}
val newFlashMode = state.toCameraXFlashMode()
flashMode = newFlashMode
imageCapture?.flashMode = newFlashMode
val appFlashMode = flashMode.toAppFlashMode()
config.flashlightState = appFlashMode
listener.onChangeFlashMode(appFlashMode)
config.flashlightState = state
listener.onChangeFlashMode(state)
}
override fun tryTakePicture() {