From 0fe47acc4e97d4dc3800982fc98f039bcfb571b5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 21 Mar 2017 23:00:24 +0100 Subject: [PATCH] move the aspect ratio check in a Size extension --- .../kotlin/com/simplemobiletools/camera/Preview.kt | 11 +---------- .../com/simplemobiletools/camera/extensions/size.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt b/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt index c4b1d743..9dc8320f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt @@ -27,7 +27,6 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan var mCamera: Camera? = null private val TAG = Preview::class.java.simpleName private val FOCUS_AREA_SIZE = 100 - private val RATIO_TOLERANCE = 0.2f lateinit var mSurfaceHolder: SurfaceHolder lateinit var mSurfaceView: SurfaceView @@ -158,20 +157,12 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan } private fun refreshPreview() { - mIsSixteenToNine = isSixteenToNine() + mIsSixteenToNine = getSelectedResolution().isSixteenToNine() mSetupPreviewAfterMeasure = true requestLayout() invalidate() } - private fun isSixteenToNine(): Boolean { - val selectedSize = getSelectedResolution() - val selectedRatio = Math.abs(selectedSize.width / selectedSize.height.toFloat()) - val checkedRatio = 16 / 9.toFloat() - val diff = Math.abs(selectedRatio - checkedRatio) - return diff < RATIO_TOLERANCE - } - private fun getSelectedResolution(): Camera.Size { val index = getResolutionIndex() val resolutions = if (mIsVideoMode) { diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt b/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt new file mode 100644 index 00000000..8f80aca4 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt @@ -0,0 +1,12 @@ +package com.simplemobiletools.camera.extensions + +import android.hardware.Camera + +private val RATIO_TOLERANCE = 0.2f + +fun Camera.Size.isSixteenToNine(): Boolean { + val selectedRatio = Math.abs(width / height.toFloat()) + val checkedRatio = 16 / 9.toFloat() + val diff = Math.abs(selectedRatio - checkedRatio) + return diff < RATIO_TOLERANCE +}