fix #56, add a toggle for enabling front camera photo flipping

This commit is contained in:
tibbi 2017-09-21 23:02:33 +02:00
parent 02978b8375
commit c9537ec2c4
19 changed files with 59 additions and 0 deletions

View File

@ -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()

View File

@ -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"

View File

@ -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()

View File

@ -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
}
}
}

View File

@ -164,5 +164,25 @@
android:text="@string/turn_flash_off_at_startup"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_flip_photos_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_flip_photos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/flip_front_camera_photos_horizontally"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Vor der Aufnahme fokussieren</string>
<string name="volume_buttons_as_shutter">Benutze Lautstärkeregler als Shutter</string>
<string name="turn_flash_off_at_startup">Schalte Blitzlicht bei Start aus</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Enfocar antes de la captura</string>
<string name="volume_buttons_as_shutter">Utilizar los botones de volumen como obturador</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Focus before capture</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Messa a fuoco prima della cattura</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">キャプチャ前に再度焦点を合わせる</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Focus before capture</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -28,6 +28,7 @@
<string name="focus_before_capture">Focus before capture</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Złap ostrość przed zrobieniem zdjęcia</string>
<string name="volume_buttons_as_shutter">Używaj przycisków głośności jako spustu migawki</string>
<string name="turn_flash_off_at_startup">Wyłącz lampę błyskową podczas uruchamiania</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Focus before capture</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Focar antes de capturar</string>
<string name="volume_buttons_as_shutter">Usar botões de volume como obturador</string>
<string name="turn_flash_off_at_startup">Desligar flash ao iniciar</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Перефокусировка перед захватом</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Выключать вспышку при запуске</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Zaostriť pred fotením</string>
<string name="volume_buttons_as_shutter">Použiť tlačidlá na ovládanie hlasitosti ako spúšťač</string>
<string name="turn_flash_off_at_startup">Vypnúť blesk pri spustení</string>
<string name="flip_front_camera_photos_horizontally">Preklopiť fotky z prednej kamera vodorovne</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Fokusera om innan bildtagning</string>
<string name="volume_buttons_as_shutter">Använd volymknapparna som slutare</string>
<string name="turn_flash_off_at_startup">Stäng av blixten vid start</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->

View File

@ -27,6 +27,7 @@
<string name="focus_before_capture">Focus before capture</string>
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->