send a boolean at resolution changing dialog to mark front/back camera

This commit is contained in:
tibbi 2018-06-04 15:36:17 +02:00
parent 16a2745652
commit ebb6e89dd6
3 changed files with 15 additions and 18 deletions

View File

@ -6,18 +6,15 @@ import android.view.LayoutInflater
import android.view.View
import com.simplemobiletools.camera.R
import com.simplemobiletools.camera.activities.SimpleActivity
import com.simplemobiletools.camera.extensions.config
import com.simplemobiletools.camera.extensions.getAspectRatio
import com.simplemobiletools.camera.extensions.getMyCamera
import com.simplemobiletools.camera.helpers.Config
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.dialog_change_resolution.view.*
class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, val camera: Camera, val callback: () -> Unit) {
class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, val camera: Camera, val isFrontCamera: Boolean, val callback: () -> Unit) {
var dialog: AlertDialog
private val isBackCamera = activity.config.lastUsedCamera == activity.getMyCamera().getBackCameraId()
init {
val view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_resolution, null).apply {
@ -29,23 +26,23 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, v
.setPositiveButton(R.string.ok, null)
.setOnDismissListener { callback() }
.create().apply {
activity.setupDialogStuff(view, this, if (isBackCamera) R.string.back_camera else R.string.front_camera)
activity.setupDialogStuff(view, this, if (isFrontCamera) R.string.front_camera else R.string.back_camera)
}
}
private fun setupPhotoResolutionPicker(view: View) {
val items = getFormattedResolutions(camera.parameters.supportedPictureSizes)
var selectionIndex = if (isBackCamera) config.backPhotoResIndex else config.frontPhotoResIndex
var selectionIndex = if (isFrontCamera) config.frontPhotoResIndex else config.backPhotoResIndex
selectionIndex = Math.max(selectionIndex, 0)
view.change_resolution_photo_holder.setOnClickListener {
RadioGroupDialog(activity, items, selectionIndex) {
selectionIndex = it as Int
view.change_resolution_photo.text = items[selectionIndex].title
if (isBackCamera) {
config.backPhotoResIndex = it
} else {
if (isFrontCamera) {
config.frontPhotoResIndex = it
} else {
config.backPhotoResIndex = it
}
dialog.dismiss()
}
@ -55,16 +52,16 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, v
private fun setupVideoResolutionPicker(view: View) {
val items = getFormattedResolutions(camera.parameters.supportedVideoSizes ?: camera.parameters.supportedPreviewSizes)
var selectionIndex = if (isBackCamera) config.backVideoResIndex else config.frontVideoResIndex
var selectionIndex = if (isFrontCamera) config.frontVideoResIndex else config.backVideoResIndex
view.change_resolution_video_holder.setOnClickListener {
RadioGroupDialog(activity, items, selectionIndex) {
selectionIndex = it as Int
view.change_resolution_video.text = items[selectionIndex].title
if (isBackCamera) {
config.backVideoResIndex = it
} else {
if (isFrontCamera) {
config.frontVideoResIndex = it
} else {
config.backVideoResIndex = it
}
dialog.dismiss()
}

View File

@ -14,10 +14,10 @@ const val TURN_FLASH_OFF_AT_STARTUP = "turn_flash_off_at_startup"
const val FLIP_PHOTOS = "flip_photos"
const val LAST_USED_CAMERA = "last_used_camera"
const val FLASHLIGHT_STATE = "flashlight_state"
const val BACK_PHOTO_RESOLUTION_INDEX = "back_photo_resolution_index"
const val BACK_VIDEO_RESOLUTION_INDEX = "back_video_resolution_index"
const val FRONT_PHOTO_RESOLUTION_INDEX = "front_photo_resolution_index"
const val FRONT_VIDEO_RESOLUTION_INDEX = "front_video_resolution_index"
const val BACK_PHOTO_RESOLUTION_INDEX = "back_photo_resolution_index_2"
const val BACK_VIDEO_RESOLUTION_INDEX = "back_video_resolution_index_2"
const val FRONT_PHOTO_RESOLUTION_INDEX = "front_photo_resolution_index_2"
const val FRONT_VIDEO_RESOLUTION_INDEX = "front_video_resolution_index_2"
const val PHOTO_PREVIEW_HINT_SHOWN = "photo_preview_hint_shown"
const val KEEP_SETTINGS_VISIBLE = "keep_settings_visible"
const val ALWAYS_OPEN_BACK_CAMERA = "always_open_back_camera"

View File

@ -491,7 +491,7 @@ class PreviewCameraOne : ViewGroup, SurfaceHolder.Callback, MyPreview {
override fun showChangeResolutionDialog() {
if (mCamera != null) {
val oldResolution = getSelectedResolution()
ChangeResolutionDialog(mActivity!!, mConfig, mCamera!!) {
ChangeResolutionDialog(mActivity!!, mConfig, mCamera!!, getIsUsingFrontCamera()) {
if (oldResolution != getSelectedResolution()) {
refreshPreview()
}