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 android.view.View
import com.simplemobiletools.camera.R import com.simplemobiletools.camera.R
import com.simplemobiletools.camera.activities.SimpleActivity import com.simplemobiletools.camera.activities.SimpleActivity
import com.simplemobiletools.camera.extensions.config
import com.simplemobiletools.camera.extensions.getAspectRatio import com.simplemobiletools.camera.extensions.getAspectRatio
import com.simplemobiletools.camera.extensions.getMyCamera
import com.simplemobiletools.camera.helpers.Config import com.simplemobiletools.camera.helpers.Config
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.dialog_change_resolution.view.* 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 var dialog: AlertDialog
private val isBackCamera = activity.config.lastUsedCamera == activity.getMyCamera().getBackCameraId()
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 {
@ -29,23 +26,23 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, v
.setPositiveButton(R.string.ok, null) .setPositiveButton(R.string.ok, null)
.setOnDismissListener { callback() } .setOnDismissListener { callback() }
.create().apply { .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) { private fun setupPhotoResolutionPicker(view: View) {
val items = getFormattedResolutions(camera.parameters.supportedPictureSizes) 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) selectionIndex = Math.max(selectionIndex, 0)
view.change_resolution_photo_holder.setOnClickListener { view.change_resolution_photo_holder.setOnClickListener {
RadioGroupDialog(activity, items, selectionIndex) { RadioGroupDialog(activity, items, selectionIndex) {
selectionIndex = it as Int selectionIndex = it as Int
view.change_resolution_photo.text = items[selectionIndex].title view.change_resolution_photo.text = items[selectionIndex].title
if (isBackCamera) { if (isFrontCamera) {
config.backPhotoResIndex = it
} else {
config.frontPhotoResIndex = it config.frontPhotoResIndex = it
} else {
config.backPhotoResIndex = it
} }
dialog.dismiss() dialog.dismiss()
} }
@ -55,16 +52,16 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val config: Config, v
private fun setupVideoResolutionPicker(view: View) { private fun setupVideoResolutionPicker(view: View) {
val items = getFormattedResolutions(camera.parameters.supportedVideoSizes ?: camera.parameters.supportedPreviewSizes) 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 { view.change_resolution_video_holder.setOnClickListener {
RadioGroupDialog(activity, items, selectionIndex) { RadioGroupDialog(activity, items, selectionIndex) {
selectionIndex = it as Int selectionIndex = it as Int
view.change_resolution_video.text = items[selectionIndex].title view.change_resolution_video.text = items[selectionIndex].title
if (isBackCamera) { if (isFrontCamera) {
config.backVideoResIndex = it
} else {
config.frontVideoResIndex = it config.frontVideoResIndex = it
} else {
config.backVideoResIndex = it
} }
dialog.dismiss() 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 FLIP_PHOTOS = "flip_photos"
const val LAST_USED_CAMERA = "last_used_camera" const val LAST_USED_CAMERA = "last_used_camera"
const val FLASHLIGHT_STATE = "flashlight_state" const val FLASHLIGHT_STATE = "flashlight_state"
const val BACK_PHOTO_RESOLUTION_INDEX = "back_photo_resolution_index" const val BACK_PHOTO_RESOLUTION_INDEX = "back_photo_resolution_index_2"
const val BACK_VIDEO_RESOLUTION_INDEX = "back_video_resolution_index" const val BACK_VIDEO_RESOLUTION_INDEX = "back_video_resolution_index_2"
const val FRONT_PHOTO_RESOLUTION_INDEX = "front_photo_resolution_index" const val FRONT_PHOTO_RESOLUTION_INDEX = "front_photo_resolution_index_2"
const val FRONT_VIDEO_RESOLUTION_INDEX = "front_video_resolution_index" const val FRONT_VIDEO_RESOLUTION_INDEX = "front_video_resolution_index_2"
const val PHOTO_PREVIEW_HINT_SHOWN = "photo_preview_hint_shown" const val PHOTO_PREVIEW_HINT_SHOWN = "photo_preview_hint_shown"
const val KEEP_SETTINGS_VISIBLE = "keep_settings_visible" const val KEEP_SETTINGS_VISIBLE = "keep_settings_visible"
const val ALWAYS_OPEN_BACK_CAMERA = "always_open_back_camera" 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() { override fun showChangeResolutionDialog() {
if (mCamera != null) { if (mCamera != null) {
val oldResolution = getSelectedResolution() val oldResolution = getSelectedResolution()
ChangeResolutionDialog(mActivity!!, mConfig, mCamera!!) { ChangeResolutionDialog(mActivity!!, mConfig, mCamera!!, getIsUsingFrontCamera()) {
if (oldResolution != getSelectedResolution()) { if (oldResolution != getSelectedResolution()) {
refreshPreview() refreshPreview()
} }