From c013f85ce54645a8bd2fc68e824f63776c4a5dbd Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 21 Mar 2017 23:24:31 +0100 Subject: [PATCH] show the aspect ratio at the resolutions dialog too --- .../camera/dialogs/ChangeResolutionDialog.kt | 4 +- .../camera/extensions/size.kt | 39 ++++++++++++++++++- app/src/main/res/values-de/strings.xml | 3 ++ app/src/main/res/values-es/strings.xml | 3 ++ app/src/main/res/values-fr/strings.xml | 3 ++ app/src/main/res/values-it/strings.xml | 3 ++ app/src/main/res/values-ja/strings.xml | 3 ++ app/src/main/res/values-lt/strings.xml | 3 ++ app/src/main/res/values-pt/strings.xml | 3 ++ app/src/main/res/values-ru/strings.xml | 3 ++ app/src/main/res/values-sv/strings.xml | 3 ++ app/src/main/res/values/strings.xml | 3 ++ 12 files changed, 71 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/ChangeResolutionDialog.kt b/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/ChangeResolutionDialog.kt index 2147b8ff..b317ad86 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/ChangeResolutionDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/ChangeResolutionDialog.kt @@ -7,6 +7,7 @@ import android.view.View import com.simplemobiletools.camera.Preview.Companion.config import com.simplemobiletools.camera.R import com.simplemobiletools.camera.activities.SimpleActivity +import com.simplemobiletools.camera.extensions.getAspectRatio import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.models.RadioItem @@ -70,7 +71,8 @@ class ChangeResolutionDialog(val activity: SimpleActivity, val isBackCamera: Boo val sorted = resolutions.sortedByDescending { it.width * it.height } sorted.forEachIndexed { index, size -> val megapixels = String.format("%.1f", (size.width * size.height.toFloat()) / 1000000) - items.add(RadioItem(index, "${size.width} x ${size.height} ($megapixels MP)")) + val aspectRatio = size.getAspectRatio(activity) + items.add(RadioItem(index, "${size.width} x ${size.height} ($megapixels MP, $aspectRatio)")) } return items } diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt b/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt index 8f80aca4..b329ae31 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/extensions/size.kt @@ -1,8 +1,10 @@ package com.simplemobiletools.camera.extensions +import android.content.Context import android.hardware.Camera +import com.simplemobiletools.camera.R -private val RATIO_TOLERANCE = 0.2f +private val RATIO_TOLERANCE = 0.1f fun Camera.Size.isSixteenToNine(): Boolean { val selectedRatio = Math.abs(width / height.toFloat()) @@ -10,3 +12,38 @@ fun Camera.Size.isSixteenToNine(): Boolean { val diff = Math.abs(selectedRatio - checkedRatio) return diff < RATIO_TOLERANCE } + +fun Camera.Size.isFourToThree(): Boolean { + val selectedRatio = Math.abs(width / height.toFloat()) + val checkedRatio = 4 / 3.toFloat() + val diff = Math.abs(selectedRatio - checkedRatio) + return diff < RATIO_TOLERANCE +} + +fun Camera.Size.isThreeToTwo(): Boolean { + val selectedRatio = Math.abs(width / height.toFloat()) + val checkedRatio = 3 / 2.toFloat() + val diff = Math.abs(selectedRatio - checkedRatio) + return diff < RATIO_TOLERANCE +} + +fun Camera.Size.isSixToFive(): Boolean { + val selectedRatio = Math.abs(width / height.toFloat()) + val checkedRatio = 6 / 5.toFloat() + val diff = Math.abs(selectedRatio - checkedRatio) + return diff < RATIO_TOLERANCE +} + +fun Camera.Size.getAspectRatio(context: Context): String { + return if (isSixteenToNine()) { + "16:9" + } else if (isFourToThree()) { + "4:3" + } else if (isThreeToTwo()) { + "3:2" + } else if (isSixToFive()) { + "6:5" + } else { + context.resources.getString(R.string.other) + } +} diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index bd6fc649..f8128aea 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -13,6 +13,9 @@ Wir benötigen Zugriff auf das Mirkofon um Videos aufnehmen zu können Keine Galerie App verfügbar + + other + Save photos and videos to Zeige eine Vorschau des Photos nach der Aufnahme diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index b6b81ecd..13c00bac 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -13,6 +13,9 @@ Se necesita el permiso de micrófono para grabar vídeos No hay disponible una aplicación de galería + + other + Guardar fotografías y vídeos en Show a photo preview after capturing diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 09473a09..a343213d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -13,6 +13,9 @@ Nous avons besoin de l\'autorisation sur l\'audio pour enregistrer des vidéos Pas d\'application album disponible + + other + Sauvegarder les photos et vidéos vers Apercevoir la photo après la prise diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fdb6f4b6..66a9015a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -13,6 +13,9 @@ È necessario l\'accesso al microfono per registrare i video Nessuna app galleria disponibile + + other + Save photos and videos to Show a photo preview after capturing diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index c7f997e6..582883c0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -13,6 +13,9 @@ ビデオを記録するためにオーディオのアクセス許可が必要です 利用可能なギャラリーアプリがありません + + other + 写真とビデオの保存先 キャプチャ後に写真のプレビューを表示 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 6fb5836b..52c48a96 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -13,6 +13,9 @@ Mums reikia audio leidimo, kad įrašyti vaizdo bylas Nėra galerijos programėlės + + other + Išsaugoti nuotraukas ir vaizdo įrašus į Show a photo preview after capturing diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 52ab9c7c..4cbf0612 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -13,6 +13,9 @@ Necessitamos da permissão de áudio para gravar os vídeos Nenhuma aplicação de galeria disponível + + other + Guardar fotos e vídeos em Mostrar pré-visualização após a captura diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 4b419b0a..0c3aecd2 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -13,6 +13,9 @@ Нам нужно аудио разрешение для записи видео Нет доступного приложения-галереи + + other + Сохранять фото и видео в Показывать сделанное фото diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 11a58a07..2f85c558 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -13,6 +13,9 @@ För att spela in video krävs ljudrättigheter Ingen galleri-app finns tillgänglig + + other + Save photos and videos to Show a photo preview after capturing diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9ea5cb90..98173bd7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,6 +13,9 @@ We need the audio permission for recording videos No gallery app available + + other + Save photos and videos to Show a photo preview after capturing