From 22d463f0e0f8e77b3e3656fd85b2b798a02a9190 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 28 May 2018 20:12:02 +0200 Subject: [PATCH] create a PreviewCameraTwo to be used with Camera2 API on Android 5+ --- .../camera/activities/MainActivity.kt | 3 +- .../camera/views/PreviewCameraTwo.kt | 72 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt 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 97b7b81a..3c80c91d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -24,6 +24,7 @@ import com.simplemobiletools.camera.interfaces.MyPreview import com.simplemobiletools.camera.views.FocusCircleView import com.simplemobiletools.camera.views.PreviewCameraOne import com.simplemobiletools.camera.views.PreviewCameraOne.PreviewListener +import com.simplemobiletools.camera.views.PreviewCameraTwo import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.Release @@ -190,7 +191,7 @@ class MainActivity : SimpleActivity(), PreviewListener, PhotoProcessor.MediaSave (btn_holder.layoutParams as RelativeLayout.LayoutParams).setMargins(0, 0, 0, (navBarHeight + resources.getDimension(R.dimen.activity_margin)).toInt()) - mPreview = PreviewCameraOne(this, camera_surface_view, this) + mPreview = if (isLollipopPlus()) PreviewCameraTwo(this) else PreviewCameraOne(this, camera_surface_view, this) view_holder.addView(mPreview as ViewGroup) val imageDrawable = if (config.lastUsedCamera == mCameraImpl.getBackCameraId()) R.drawable.ic_camera_front else R.drawable.ic_camera_rear diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt new file mode 100644 index 00000000..32fa001f --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt @@ -0,0 +1,72 @@ +package com.simplemobiletools.camera.views + +import android.content.Context +import android.net.Uri +import android.view.ViewGroup +import com.simplemobiletools.camera.helpers.STATE_PREVIEW +import com.simplemobiletools.camera.interfaces.MyPreview + +class PreviewCameraTwo(context: Context) : ViewGroup(context), MyPreview { + private var mTargetUri: Uri? = null + private var mIsImageCaptureIntent = false + + override fun setTargetUri(uri: Uri) { + mTargetUri = uri + } + + override fun setIsImageCaptureIntent(isImageCaptureIntent: Boolean) { + mIsImageCaptureIntent = isImageCaptureIntent + } + + override fun setFlashlightState(state: Int) { + } + + override fun setCamera(cameraId: Int): Boolean { + return false + } + + override fun getCameraState(): Int { + return STATE_PREVIEW + } + + override fun releaseCamera() { + } + + override fun showChangeResolutionDialog() { + } + + override fun toggleFrontBackCamera() { + } + + override fun toggleFlashlight() { + } + + override fun tryTakePicture() { + } + + override fun toggleRecording(): Boolean { + return false + } + + override fun tryInitVideoMode() { + } + + override fun initPhotoMode() { + } + + override fun initVideoMode(): Boolean { + return false + } + + override fun checkFlashlight() { + } + + override fun deviceOrientationChanged() { + } + + override fun resumeCamera(): Boolean { + return false + } + + override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {} +}