From 579f5d0514a1b51194fe82f48d807eeaa7f8692c Mon Sep 17 00:00:00 2001 From: darthpaul Date: Tue, 11 Oct 2022 01:05:01 +0100 Subject: [PATCH] disable PreviewView while capturing photo --- .../camera/activities/MainActivity.kt | 15 ++++++++------- .../camera/implementations/CameraXPreview.kt | 6 +++--- .../implementations/CameraXPreviewListener.kt | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt index 81fae8e9..3d8dcaf4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -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 } } diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreview.kt b/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreview.kt index 9709de77..71a9277f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreview.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreview.kt @@ -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) } diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreviewListener.kt b/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreviewListener.kt index 4cfef036..323ec767 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreviewListener.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXPreviewListener.kt @@ -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)