From 2e43f53af24dc63b4f0f4e0dd5e732f20fdcca86 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 20 Mar 2017 19:48:37 +0100 Subject: [PATCH] sort camera preview sizes differently --- .../com/simplemobiletools/camera/Preview.kt | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt b/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt index 21f8c1b5..f15c59a8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/Preview.kt @@ -24,7 +24,6 @@ import com.simplemobiletools.commons.extensions.scanPath import com.simplemobiletools.commons.extensions.toast import java.io.File import java.io.IOException -import java.io.Serializable import java.util.* class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScanCompletedListener { @@ -134,7 +133,7 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan mMaxZoom = mParameters!!.maxZoom mZoomRatios = mParameters!!.zoomRatios mSupportedPreviewSizes = mParameters!!.supportedPreviewSizes - Collections.sort(mSupportedPreviewSizes!!, SizesComparator()) + storePreviewSizes() requestLayout() invalidate() mSetupPreviewAfterMeasure = true @@ -165,6 +164,10 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan return true } + private fun storePreviewSizes() { + mSupportedPreviewSizes = mSupportedPreviewSizes!!.sortedByDescending { it.width * it.height } + } + fun setTargetUri(uri: Uri) { mTargetUri = uri } @@ -455,9 +458,7 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan return false mSwitchToVideoAsap = false - val previewSizes = mParameters!!.supportedPreviewSizes - Collections.sort(previewSizes, SizesComparator()) - val preferred = previewSizes[0] + val preferred = mSupportedPreviewSizes!![0] mParameters!!.setPreviewSize(preferred.width, preferred.height) mCamera!!.parameters = mParameters @@ -618,17 +619,6 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan return size } - private class SizesComparator : Comparator, Serializable { - - override fun compare(a: Camera.Size, b: Camera.Size): Int { - return b.width * b.height - a.width * a.height - } - - companion object { - private const val serialVersionUID = 5431278455314658485L - } - } - interface PreviewListener { fun setFlashAvailable(available: Boolean)