send the Camera object to the ChangeResolutionDialog

This commit is contained in:
tibbi 2017-03-20 23:01:28 +01:00
parent 0afb2d57a8
commit cee0ada35f
4 changed files with 19 additions and 18 deletions

View File

@ -29,6 +29,7 @@ import java.util.*
class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScanCompletedListener { class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScanCompletedListener {
companion object { companion object {
val PHOTO_PREVIEW_LENGTH = 1000L val PHOTO_PREVIEW_LENGTH = 1000L
var mCamera: Camera? = null
private val TAG = Preview::class.java.simpleName private val TAG = Preview::class.java.simpleName
private val FOCUS_AREA_SIZE = 100 private val FOCUS_AREA_SIZE = 100
@ -38,7 +39,6 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan
lateinit var mCallback: PreviewListener lateinit var mCallback: PreviewListener
lateinit var mScreenSize: Point lateinit var mScreenSize: Point
lateinit var config: Config lateinit var config: Config
private var mCamera: Camera? = null
private var mSupportedPreviewSizes: List<Camera.Size>? = null private var mSupportedPreviewSizes: List<Camera.Size>? = null
private var mPreviewSize: Camera.Size? = null private var mPreviewSize: Camera.Size? = null
private var mParameters: Camera.Parameters? = null private var mParameters: Camera.Parameters? = null

View File

@ -53,7 +53,7 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
private var mIsHardwareShutterHandled = false private var mIsHardwareShutterHandled = false
private var mCurrVideoRecTimer = 0 private var mCurrVideoRecTimer = 0
private var mOrientation = 0 private var mOrientation = 0
private var mCurrCamera = 0 private var mCurrCameraId = 0
private var mLastHandledOrientation = 0 private var mLastHandledOrientation = 0
} }
@ -130,11 +130,11 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
lp.setMargins(0, 0, 0, lp.bottomMargin + mRes.getNavBarHeight()) lp.setMargins(0, 0, 0, lp.bottomMargin + mRes.getNavBarHeight())
} }
mCurrCamera = config.lastUsedCamera mCurrCameraId = config.lastUsedCamera
mPreview = Preview(this, camera_view, this) mPreview = Preview(this, camera_view, this)
mPreview!!.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) mPreview!!.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
view_holder.addView(mPreview) view_holder.addView(mPreview)
toggle_camera.setImageResource(if (mCurrCamera == Camera.CameraInfo.CAMERA_FACING_BACK) R.drawable.ic_camera_front else R.drawable.ic_camera_back) toggle_camera.setImageResource(if (mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) R.drawable.ic_camera_front else R.drawable.ic_camera_back)
mFocusRectView = FocusRectView(applicationContext) mFocusRectView = FocusRectView(applicationContext)
view_holder.addView(mFocusRectView) view_holder.addView(mFocusRectView)
@ -187,17 +187,17 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
return return
} }
if (mCurrCamera == Camera.CameraInfo.CAMERA_FACING_BACK) { if (mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) {
mCurrCamera = Camera.CameraInfo.CAMERA_FACING_FRONT mCurrCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT
} else { } else {
mCurrCamera = Camera.CameraInfo.CAMERA_FACING_BACK mCurrCameraId = Camera.CameraInfo.CAMERA_FACING_BACK
} }
config.lastUsedCamera = mCurrCamera config.lastUsedCamera = mCurrCameraId
var newIconId = R.drawable.ic_camera_front var newIconId = R.drawable.ic_camera_front
mPreview?.releaseCamera() mPreview?.releaseCamera()
if (mPreview?.setCamera(mCurrCamera) == true) { if (mPreview?.setCamera(mCurrCameraId) == true) {
if (mCurrCamera == Camera.CameraInfo.CAMERA_FACING_FRONT) { if (mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) {
newIconId = R.drawable.ic_camera_back newIconId = R.drawable.ic_camera_back
} }
toggle_camera.setImageResource(newIconId) toggle_camera.setImageResource(newIconId)
@ -305,8 +305,10 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
} }
private fun handleChangeResolution() { private fun handleChangeResolution() {
ChangeResolutionDialog(this, true) { if (Preview.mCamera != null) {
ChangeResolutionDialog(this, mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_BACK, Preview.mCamera!!) {
}
} }
} }
@ -460,7 +462,7 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
toggle_camera.beInvisible() toggle_camera.beInvisible()
} }
if (mPreview?.setCamera(mCurrCamera) == true) { if (mPreview?.setCamera(mCurrCameraId) == true) {
hideNavigationBarIcons() hideNavigationBarIcons()
checkFlash() checkFlash()

View File

@ -1,5 +1,6 @@
package com.simplemobiletools.camera.dialogs package com.simplemobiletools.camera.dialogs
import android.hardware.Camera
import android.support.v7.app.AlertDialog import android.support.v7.app.AlertDialog
import android.view.LayoutInflater import android.view.LayoutInflater
import com.simplemobiletools.camera.R import com.simplemobiletools.camera.R
@ -7,7 +8,7 @@ import com.simplemobiletools.camera.activities.SimpleActivity
import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.extensions.setupDialogStuff
import kotlinx.android.synthetic.main.dialog_change_resolution.view.* import kotlinx.android.synthetic.main.dialog_change_resolution.view.*
class ChangeResolutionDialog(val activity: SimpleActivity, val backCamera: Boolean, val callback: () -> Unit) { class ChangeResolutionDialog(val activity: SimpleActivity, val isBackCamera: Boolean, val camera: Camera, val callback: () -> Unit) {
init { init {
val view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_resolution, null).apply { val view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_resolution, null).apply {
change_resolution_photo_holder.setOnClickListener { change_resolution_photo_holder.setOnClickListener {
@ -22,7 +23,7 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val backCamera: Boole
AlertDialog.Builder(activity) AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, null) .setPositiveButton(R.string.ok, null)
.create().apply { .create().apply {
activity.setupDialogStuff(view, this, if (backCamera) R.string.back_camera else R.string.front_camera) activity.setupDialogStuff(view, this, if (isBackCamera) R.string.back_camera else R.string.front_camera)
} }
} }
} }

View File

@ -30,8 +30,7 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:background="@null" android:background="@null"
android:clickable="false" android:clickable="false"/>
android:text="qwe"/>
</RelativeLayout> </RelativeLayout>
@ -59,8 +58,7 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:background="@null" android:background="@null"
android:clickable="false" android:clickable="false"/>
android:text="qwe"/>
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>