From ebd53d94e88bfa545864a039355b0cda8aaa6dd2 Mon Sep 17 00:00:00 2001
From: Nikola Trubitsyn <nikola.trubitsyn@gmail.com>
Date: Wed, 14 Jun 2017 01:32:18 +0300
Subject: [PATCH] Fix #57

---
 .../com/simplemobiletools/camera/Config.kt    |  4 ++++
 .../com/simplemobiletools/camera/Constants.kt |  1 +
 .../camera/activities/MainActivity.kt         |  2 +-
 .../camera/activities/SettingsActivity.kt     |  9 +++++++++
 app/src/main/res/layout/activity_settings.xml | 20 +++++++++++++++++++
 app/src/main/res/values-de/strings.xml        |  1 +
 app/src/main/res/values-es/strings.xml        |  1 +
 app/src/main/res/values-fr/strings.xml        |  1 +
 app/src/main/res/values-it/strings.xml        |  1 +
 app/src/main/res/values-ja/strings.xml        |  1 +
 app/src/main/res/values-lt/strings.xml        |  1 +
 app/src/main/res/values-nl/strings.xml        |  1 +
 app/src/main/res/values-pt-rBR/strings.xml    |  1 +
 app/src/main/res/values-pt/strings.xml        |  1 +
 app/src/main/res/values-ru/strings.xml        |  1 +
 app/src/main/res/values-sv/strings.xml        |  1 +
 app/src/main/res/values/strings.xml           |  1 +
 17 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt b/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt
index e7c50132..1b61e4d4 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/Config.kt
@@ -38,6 +38,10 @@ class Config(context: Context) : BaseConfig(context) {
         get() = prefs.getBoolean(VOLUME_BUTTONS_AS_SHUTTER, false)
         set(volumeButtonsAsShutter) = prefs.edit().putBoolean(VOLUME_BUTTONS_AS_SHUTTER, volumeButtonsAsShutter).apply()
 
+    var turnFlashOffAtStartup: Boolean
+        get() = prefs.getBoolean(TURN_FLASH_OFF_AT_STARTUP, false)
+        set(turnFlashOffAtStartup) = prefs.edit().putBoolean(TURN_FLASH_OFF_AT_STARTUP, turnFlashOffAtStartup).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 94327ea2..9706298e 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/Constants.kt
@@ -10,6 +10,7 @@ val SHOW_PREVIEW = "show_preview"
 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 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/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
index 69fb0f90..c095ccb3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt
@@ -155,7 +155,7 @@ class MainActivity : SimpleActivity(), PreviewListener, PhotoProcessor.MediaSave
         mIsInPhotoMode = true
         mTimerHandler = Handler()
         mFadeHandler = Handler()
-        mFlashlightState = config.flashlightState
+        mFlashlightState = if (config.turnFlashOffAtStartup) FLASH_OFF else config.flashlightState
         setupPreviewImage(true)
     }
 
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 807c6745..baf844fa 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt
@@ -29,6 +29,7 @@ class SettingsActivity : SimpleActivity() {
         setupSound()
         setupFocusBeforeCapture()
         setupVolumeButtonsAsShutter()
+        setupTurnFlashOffAtStartup()
         updateTextColors(settings_holder)
     }
 
@@ -99,4 +100,12 @@ class SettingsActivity : SimpleActivity() {
             config.volumeButtonsAsShutter = settings_volume_buttons_as_shutter.isChecked
         }
     }
+
+    private fun setupTurnFlashOffAtStartup() {
+        settings_turn_flash_off_at_startup.isChecked = config.turnFlashOffAtStartup
+        settings_turn_flash_off_at_startup_holder.setOnClickListener {
+            settings_turn_flash_off_at_startup.toggle()
+            config.turnFlashOffAtStartup = settings_turn_flash_off_at_startup.isChecked
+        }
+    }
 }
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 0cf34557..853ff18f 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -144,5 +144,25 @@
                 android:text="@string/volume_buttons_as_shutter"/>
 
         </RelativeLayout>
+
+        <RelativeLayout
+            android:id="@+id/settings_turn_flash_off_at_startup_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_turn_flash_off_at_startup"
+                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/turn_flash_off_at_startup"/>
+
+        </RelativeLayout>
     </LinearLayout>
 </ScrollView>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index c7387e0e..656b52da 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <string name="focus_before_capture">Vor der Aufnahme fokussieren</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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 362ffd8b..03c50b3f 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Vídeo</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 8849173a..f8da37d8 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 2fde9c79..baee1e82 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index be06ea67..9452da09 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 2d9064d4..ff221c56 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index ba8b9c1c..a996ed51 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -28,6 +28,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 9548886c..9d9a1677 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 @@
     <string name="video">Vídeo</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 4f2583fe..57c00e25 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Vídeo</string>
     <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">Turn flash off at startup</string>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 778cf596..fcca736e 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Видео</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 9452cfae..304fa261 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <string name="focus_before_capture">Fokusera om innan bildtagning</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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5e66a147..4b4b4847 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -27,6 +27,7 @@
     <string name="video">Video</string>
     <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>
 
     <!-- Strings displayed only on Google Playstore. Optional, but good to have -->
     <!-- Short description has to have less than 80 chars -->