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 {
companion object {
val PHOTO_PREVIEW_LENGTH = 1000L
var mCamera: Camera? = null
private val TAG = Preview::class.java.simpleName
private val FOCUS_AREA_SIZE = 100
@ -38,7 +39,6 @@ class Preview : ViewGroup, SurfaceHolder.Callback, MediaScannerConnection.OnScan
lateinit var mCallback: PreviewListener
lateinit var mScreenSize: Point
lateinit var config: Config
private var mCamera: Camera? = null
private var mSupportedPreviewSizes: List<Camera.Size>? = null
private var mPreviewSize: Camera.Size? = 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 mCurrVideoRecTimer = 0
private var mOrientation = 0
private var mCurrCamera = 0
private var mCurrCameraId = 0
private var mLastHandledOrientation = 0
}
@ -130,11 +130,11 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
lp.setMargins(0, 0, 0, lp.bottomMargin + mRes.getNavBarHeight())
}
mCurrCamera = config.lastUsedCamera
mCurrCameraId = config.lastUsedCamera
mPreview = Preview(this, camera_view, this)
mPreview!!.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
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)
view_holder.addView(mFocusRectView)
@ -187,17 +187,17 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
return
}
if (mCurrCamera == Camera.CameraInfo.CAMERA_FACING_BACK) {
mCurrCamera = Camera.CameraInfo.CAMERA_FACING_FRONT
if (mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) {
mCurrCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT
} 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
mPreview?.releaseCamera()
if (mPreview?.setCamera(mCurrCamera) == true) {
if (mCurrCamera == Camera.CameraInfo.CAMERA_FACING_FRONT) {
if (mPreview?.setCamera(mCurrCameraId) == true) {
if (mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) {
newIconId = R.drawable.ic_camera_back
}
toggle_camera.setImageResource(newIconId)
@ -305,10 +305,12 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
}
private fun handleChangeResolution() {
ChangeResolutionDialog(this, true) {
if (Preview.mCamera != null) {
ChangeResolutionDialog(this, mCurrCameraId == Camera.CameraInfo.CAMERA_FACING_BACK, Preview.mCamera!!) {
}
}
}
private fun togglePhotoVideo() {
if (!checkCameraAvailable()) {
@ -460,7 +462,7 @@ class MainActivity : SimpleActivity(), SensorEventListener, PreviewListener, Pho
toggle_camera.beInvisible()
}
if (mPreview?.setCamera(mCurrCamera) == true) {
if (mPreview?.setCamera(mCurrCameraId) == true) {
hideNavigationBarIcons()
checkFlash()

View File

@ -1,5 +1,6 @@
package com.simplemobiletools.camera.dialogs
import android.hardware.Camera
import android.support.v7.app.AlertDialog
import android.view.LayoutInflater
import com.simplemobiletools.camera.R
@ -7,7 +8,7 @@ import com.simplemobiletools.camera.activities.SimpleActivity
import com.simplemobiletools.commons.extensions.setupDialogStuff
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 {
val view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_resolution, null).apply {
change_resolution_photo_holder.setOnClickListener {
@ -22,7 +23,7 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val backCamera: Boole
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, null)
.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_alignParentRight="true"
android:background="@null"
android:clickable="false"
android:text="qwe"/>
android:clickable="false"/>
</RelativeLayout>
@ -59,8 +58,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@null"
android:clickable="false"
android:text="qwe"/>
android:clickable="false"/>
</RelativeLayout>
</LinearLayout>