disable PreviewView while capturing photo

This commit is contained in:
darthpaul 2022-10-11 01:05:01 +01:00
parent ac3044f52b
commit 579f5d0514
3 changed files with 12 additions and 11 deletions

View File

@ -141,7 +141,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
handleTogglePhotoVideo()
checkButtons()
}
toggleBottomButtons(false)
toggleBottomButtons(enabled = true)
mOrientationEventListener.enable()
}
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
@ -429,7 +429,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
private fun handleShutter() {
if (mIsInPhotoMode) {
toggleBottomButtons(true)
toggleBottomButtons(enabled = false)
change_resolution.isEnabled = true
mPreview?.tryTakePicture()
} else {
@ -469,7 +469,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
hideTimer()
togglePhotoVideoMode()
checkButtons()
toggleBottomButtons(false)
toggleBottomButtons(enabled = true)
}
private fun togglePhotoVideoMode() {
@ -638,11 +638,12 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
toggle_camera.setImageResource(if (frontCamera) R.drawable.ic_camera_rear_vector else R.drawable.ic_camera_front_vector)
}
override fun toggleBottomButtons(hide: Boolean) {
override fun toggleBottomButtons(enabled: Boolean) {
runOnUiThread {
shutter.isClickable = !hide
toggle_camera.isClickable = !hide
toggle_flash.isClickable = !hide
shutter.isClickable = enabled
preview_view.isEnabled = enabled
toggle_camera.isClickable = enabled
toggle_flash.isClickable = enabled
}
}

View File

@ -431,7 +431,7 @@ class CameraXPreview(
val imageBytes = ImageUtil.jpegImageToJpegByteArray(image)
val bitmap = BitmapUtils.makeBitmap(imageBytes)
activity.runOnUiThread {
listener.toggleBottomButtons(false)
listener.toggleBottomButtons(enabled = true)
if (bitmap != null) {
listener.onImageCaptured(bitmap)
} else {
@ -448,7 +448,7 @@ class CameraXPreview(
saveExifAttributes = config.savePhotoMetadata,
onImageSaved = { savedUri ->
activity.runOnUiThread {
listener.toggleBottomButtons(false)
listener.toggleBottomButtons(enabled = true)
listener.onMediaSaved(savedUri)
}
},
@ -466,7 +466,7 @@ class CameraXPreview(
}
private fun handleImageCaptureError(exception: ImageCaptureException) {
listener.toggleBottomButtons(false)
listener.toggleBottomButtons(enabled = true)
cameraErrorHandler.handleImageCaptureError(exception.imageCaptureError)
}

View File

@ -9,7 +9,7 @@ interface CameraXPreviewListener {
fun setHasFrontAndBackCamera(hasFrontAndBack: Boolean)
fun setFlashAvailable(available: Boolean)
fun onChangeCamera(frontCamera: Boolean)
fun toggleBottomButtons(hide: Boolean)
fun toggleBottomButtons(enabled: Boolean)
fun shutterAnimation()
fun onMediaSaved(uri: Uri)
fun onImageCaptured(bitmap: Bitmap)