mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-19 21:01:01 +01:00
set AutoFocus to Idle instead of Cancel after taking a picture
This commit is contained in:
parent
cc63675e3a
commit
df33bf0ddf
@ -323,7 +323,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
mCaptureSession = cameraCaptureSession
|
mCaptureSession = cameraCaptureSession
|
||||||
mPreviewRequestBuilder!!.apply {
|
mPreviewRequestBuilder!!.apply {
|
||||||
set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
|
set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
|
||||||
set(CaptureRequest.FLASH_MODE, getFlashlightMode(mFlashlightState))
|
set(CaptureRequest.FLASH_MODE, getFlashlightMode())
|
||||||
mPreviewRequest = build()
|
mPreviewRequest = build()
|
||||||
}
|
}
|
||||||
mCaptureSession!!.setRepeatingRequest(mPreviewRequest, mCaptureCallback, mBackgroundHandler)
|
mCaptureSession!!.setRepeatingRequest(mPreviewRequest, mCaptureCallback, mBackgroundHandler)
|
||||||
@ -399,6 +399,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
mRotationAtCapture = mActivity.mLastHandledOrientation
|
mRotationAtCapture = mActivity.mLastHandledOrientation
|
||||||
val captureBuilder = mCameraDevice!!.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE).apply {
|
val captureBuilder = mCameraDevice!!.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE).apply {
|
||||||
addTarget(mImageReader!!.surface)
|
addTarget(mImageReader!!.surface)
|
||||||
|
set(CaptureRequest.FLASH_MODE, getFlashlightMode())
|
||||||
set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
|
set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
|
||||||
set(CaptureRequest.JPEG_ORIENTATION, mSensorOrientation)
|
set(CaptureRequest.JPEG_ORIENTATION, mSensorOrientation)
|
||||||
set(CaptureRequest.SCALER_CROP_REGION, mZoomRect)
|
set(CaptureRequest.SCALER_CROP_REGION, mZoomRect)
|
||||||
@ -535,9 +536,9 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
|
|
||||||
private fun lockFocus() {
|
private fun lockFocus() {
|
||||||
try {
|
try {
|
||||||
mCameraState = STATE_WAITING_LOCK
|
|
||||||
mPreviewRequestBuilder!!.apply {
|
mPreviewRequestBuilder!!.apply {
|
||||||
set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START)
|
set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START)
|
||||||
|
mCameraState = STATE_WAITING_LOCK
|
||||||
mCaptureSession!!.capture(build(), mCaptureCallback, mBackgroundHandler)
|
mCaptureSession!!.capture(build(), mCaptureCallback, mBackgroundHandler)
|
||||||
}
|
}
|
||||||
} catch (e: CameraAccessException) {
|
} catch (e: CameraAccessException) {
|
||||||
@ -547,8 +548,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
private fun unlockFocus() {
|
private fun unlockFocus() {
|
||||||
try {
|
try {
|
||||||
mPreviewRequestBuilder!!.apply {
|
mPreviewRequestBuilder!!.apply {
|
||||||
set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_CANCEL)
|
set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_IDLE)
|
||||||
set(CaptureRequest.FLASH_MODE, getFlashlightMode(mFlashlightState))
|
|
||||||
mCaptureSession!!.capture(build(), mCaptureCallback, mBackgroundHandler)
|
mCaptureSession!!.capture(build(), mCaptureCallback, mBackgroundHandler)
|
||||||
}
|
}
|
||||||
mCameraState = STATE_PREVIEW
|
mCameraState = STATE_PREVIEW
|
||||||
@ -565,10 +565,9 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
lockFocus()
|
lockFocus()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getFlashlightMode(state: Int) = when (state) {
|
private fun getFlashlightMode() = when (mFlashlightState) {
|
||||||
FLASH_OFF -> CameraMetadata.FLASH_MODE_OFF
|
|
||||||
FLASH_ON -> CameraMetadata.FLASH_MODE_TORCH
|
FLASH_ON -> CameraMetadata.FLASH_MODE_TORCH
|
||||||
else -> CameraMetadata.FLASH_MODE_SINGLE
|
else -> CameraMetadata.FLASH_MODE_OFF
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setTargetUri(uri: Uri) {
|
override fun setTargetUri(uri: Uri) {
|
||||||
@ -620,8 +619,9 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie
|
|||||||
|
|
||||||
override fun checkFlashlight() {
|
override fun checkFlashlight() {
|
||||||
if (mCameraState == STATE_PREVIEW && mIsFlashSupported) {
|
if (mCameraState == STATE_PREVIEW && mIsFlashSupported) {
|
||||||
mPreviewRequestBuilder!!.set(CaptureRequest.FLASH_MODE, getFlashlightMode(mFlashlightState))
|
mPreviewRequestBuilder!!.set(CaptureRequest.FLASH_MODE, getFlashlightMode())
|
||||||
mCaptureSession!!.setRepeatingRequest(mPreviewRequestBuilder!!.build(), mCaptureCallback, mBackgroundHandler)
|
mPreviewRequest = mPreviewRequestBuilder!!.build()
|
||||||
|
mCaptureSession!!.setRepeatingRequest(mPreviewRequest, mCaptureCallback, mBackgroundHandler)
|
||||||
mActivity.updateFlashlightState(mFlashlightState)
|
mActivity.updateFlashlightState(mFlashlightState)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user