diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt b/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt index 1b61e4d4..ada1854a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt @@ -42,6 +42,10 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(TURN_FLASH_OFF_AT_STARTUP, false) set(turnFlashOffAtStartup) = prefs.edit().putBoolean(TURN_FLASH_OFF_AT_STARTUP, turnFlashOffAtStartup).apply() + var flipPhotos: Boolean + get() = prefs.getBoolean(FLIP_PHOTOS, false) + set(flipPhotos) = prefs.edit().putBoolean(FLIP_PHOTOS, flipPhotos).apply() + var lastUsedCamera: Int get() = prefs.getInt(LAST_USED_CAMERA, Camera.CameraInfo.CAMERA_FACING_BACK) set(cameraId) = prefs.edit().putInt(LAST_USED_CAMERA, cameraId).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt index 9706298e..24256dd7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt @@ -11,6 +11,7 @@ val SOUND = "sound" val FOCUS_BEFORE_CAPTURE = "focus_before_capture" val VOLUME_BUTTONS_AS_SHUTTER = "volume_buttons_as_shutter" val TURN_FLASH_OFF_AT_STARTUP = "turn_flash_off_at_startup" +val FLIP_PHOTOS = "flip_photos" val LAST_USED_CAMERA = "last_used_camera" val FLASHLIGHT_STATE = "flashlight_state" val BACK_PHOTO_RESOLUTION_INDEX = "back_photo_resolution_index" diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/PhotoProcessor.kt b/app/src/main/kotlin/com/simplemobiletools/camera/PhotoProcessor.kt index 818bff2e..1e7ae10b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/PhotoProcessor.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/PhotoProcessor.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.camera import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Matrix +import android.hardware.Camera import android.media.ExifInterface import android.net.Uri import android.os.AsyncTask @@ -73,6 +74,16 @@ class PhotoProcessor(val activity: MainActivity, val uri: Uri?, val currCameraId image = rotate(image, totalRotation) } + if (currCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT && !activity.config.flipPhotos) { + val matrix = Matrix() + if (path.startsWith(activity.internalStoragePath)) { + matrix.preScale(1f, -1f) + } else { + matrix.preScale(-1f, 1f) + } + image = Bitmap.createBitmap(image, 0, 0, image.width, image.height, matrix, false) + } + if (image != null) { image.compress(Bitmap.CompressFormat.JPEG, 80, fos) fos?.close() diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt index baf844fa..17db9d88 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt @@ -30,6 +30,7 @@ class SettingsActivity : SimpleActivity() { setupFocusBeforeCapture() setupVolumeButtonsAsShutter() setupTurnFlashOffAtStartup() + setupFlipPhotos() updateTextColors(settings_holder) } @@ -108,4 +109,12 @@ class SettingsActivity : SimpleActivity() { config.turnFlashOffAtStartup = settings_turn_flash_off_at_startup.isChecked } } + + private fun setupFlipPhotos() { + settings_flip_photos.isChecked = config.flipPhotos + settings_flip_photos_holder.setOnClickListener { + settings_flip_photos.toggle() + config.flipPhotos = settings_flip_photos.isChecked + } + } } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 853ff18f..af32a959 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -164,5 +164,25 @@ android:text="@string/turn_flash_off_at_startup"/> + + + + + + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a1f5946b..272b26c6 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -27,6 +27,7 @@ Vor der Aufnahme fokussieren Benutze Lautstärkeregler als Shutter Schalte Blitzlicht bei Start aus + Flip front camera photos horizontally diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 6969aa3f..27336c99 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -27,6 +27,7 @@ Enfocar antes de la captura Utilizar los botones de volumen como obturador Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 30068744..862eb163 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -27,6 +27,7 @@ Focus before capture Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0fb7c07b..bb279351 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -27,6 +27,7 @@ Messa a fuoco prima della cattura Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 00508ce4..f5a248b6 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -27,6 +27,7 @@ キャプチャ前に再度焦点を合わせる Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 836d49b3..7a507a37 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -27,6 +27,7 @@ Focus before capture Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 4e27a5e2..2a719697 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -28,6 +28,7 @@ Focus before capture Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8ab5a2c0..a96d0eb8 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -27,6 +27,7 @@ Złap ostrość przed zrobieniem zdjęcia Używaj przycisków głośności jako spustu migawki Wyłącz lampę błyskową podczas uruchamiania + Flip front camera photos horizontally diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 7d5b2318..322843e9 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -27,6 +27,7 @@ Focus before capture Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index cf1b0ece..09ec9d97 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -27,6 +27,7 @@ Focar antes de capturar Usar botões de volume como obturador Desligar flash ao iniciar + Flip front camera photos horizontally diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 18066afa..030994cb 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -27,6 +27,7 @@ Перефокусировка перед захватом Use volume buttons as shutter Выключать вспышку при запуске + Flip front camera photos horizontally diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index d4515e13..b5787b70 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -27,6 +27,7 @@ Zaostriť pred fotením Použiť tlačidlá na ovládanie hlasitosti ako spúšťač Vypnúť blesk pri spustení + Preklopiť fotky z prednej kamera vodorovne diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 50d81ba9..b524aad9 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -27,6 +27,7 @@ Fokusera om innan bildtagning Använd volymknapparna som slutare Stäng av blixten vid start + Flip front camera photos horizontally diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b3c6a31d..f4d2a1cb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -27,6 +27,7 @@ Focus before capture Use volume buttons as shutter Turn flash off at startup + Flip front camera photos horizontally