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