From e529bdd15c7e7d641c2d1eb732a751daf7a48bf9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 28 May 2018 16:00:30 +0200 Subject: [PATCH] adding some initial camera states --- .../camera/activities/MainActivity.kt | 4 ++-- .../com/simplemobiletools/camera/helpers/Constants.kt | 4 ++++ .../simplemobiletools/camera/views/PreviewCameraOne.kt | 10 ++++++---- 3 files changed, 12 insertions(+), 6 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 28973598..f9765979 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -97,7 +97,7 @@ class MainActivity : SimpleActivity(), PreviewListener, PhotoProcessor.MediaSave mPreview?.releaseCamera() mOrientationEventListener.disable() - if (mPreview?.isWaitingForTakePictureCallback == true) { + if (mPreview?.getCameraState() == STATE_PICTURE_TAKEN) { toast(R.string.photo_not_saved) } } @@ -219,7 +219,7 @@ class MainActivity : SimpleActivity(), PreviewListener, PhotoProcessor.MediaSave private fun toggleCamera() { if (checkCameraAvailable()) { - mPreview!!.toggleCamera() + mPreview!!.toggleFrontBackCamera() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/camera/helpers/Constants.kt index 43ad2cee..f6c62f42 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/helpers/Constants.kt @@ -27,3 +27,7 @@ const val PHOTO_QUALITY = "photo_quality" const val FLASH_OFF = 0 const val FLASH_ON = 1 const val FLASH_AUTO = 2 + +// camera states +const val STATE_PREVIEW = 0 +const val STATE_PICTURE_TAKEN = 1 diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraOne.kt b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraOne.kt index 699e9cec..a33faf40 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraOne.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraOne.kt @@ -50,6 +50,7 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { private var mZoomRatios = ArrayList() private var mFlashlightState = FLASH_OFF private var mCameraImpl: MyCameraOneImpl? = null + private var mCameraState = STATE_PREVIEW private var mCurrVideoPath = "" private var mCanTakePicture = false @@ -71,7 +72,6 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { private var autoFocusHandler = Handler() private var mActivity: MainActivity? = null - var isWaitingForTakePictureCallback = false var mTargetUri: Uri? = null var isImageCaptureIntent = false @@ -195,7 +195,7 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { return true } - fun toggleCamera() { + fun toggleFrontBackCamera() { mCurrCameraId = if (mCurrCameraId == mCameraImpl!!.getBackCameraId()) { mCameraImpl!!.getFrontCameraId() } else { @@ -213,6 +213,8 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { } } + fun getCameraState() = mCameraState + private fun refreshPreview() { mIsSixteenToNine = getSelectedResolution().isSixteenToNine() mSetupPreviewAfterMeasure = true @@ -332,7 +334,7 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { mRotationAtCapture = mActivity!!.mLastHandledOrientation updateCameraParameters() - isWaitingForTakePictureCallback = true + mCameraState = STATE_PICTURE_TAKEN mIsPreviewShown = true try { Thread { @@ -360,7 +362,7 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback { return@PictureCallback } - isWaitingForTakePictureCallback = false + mCameraState = STATE_PREVIEW if (!isImageCaptureIntent) { handlePreview() }