diff --git a/app/build.gradle b/app/build.gradle
index 573aa72..f67467b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -76,7 +76,7 @@ android {
}
dependencies {
- implementation 'com.github.SimpleMobileTools:Simple-Commons:7c1e5b5777'
+ implementation 'com.github.SimpleMobileTools:Simple-Commons:73d78e5cd3'
implementation 'org.greenrobot:eventbus:3.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8f40c07..32fc951 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -10,6 +10,7 @@
+
@@ -132,6 +133,9 @@
android:resource="@xml/widget_bright_display" />
+
+
launchMoreAppsFromUsIntent()
R.id.settings -> launchSettings()
+ R.id.sleep_timer -> showSleepTimer()
R.id.about -> launchAbout()
else -> return@setOnMenuItemClickListener false
}
@@ -279,6 +293,85 @@ class MainActivity : SimpleActivity() {
mCameraImpl = null
}
+ private fun showSleepTimer(force: Boolean = false) {
+ val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
+ if (isSPlus() && !alarmManager.canScheduleExactAlarms() && !force) {
+ PermissionRequiredDialog(
+ this,
+ com.simplemobiletools.commons.R.string.allow_alarm_sleep_timer,
+ positiveActionCallback = { openRequestExactAlarmSettings(baseConfig.appId) },
+ negativeActionCallback = { showSleepTimer(true) }
+ )
+ return
+ }
+
+ val items = ArrayList(listOf(10, 30, 60, 5 * 60, 10 * 60, 30 * 60).map {
+ RadioItem(it, secondsToString(it))
+ })
+
+ if (items.none { it.id == config.lastSleepTimerSeconds }) {
+ items.add(RadioItem(config.lastSleepTimerSeconds, secondsToString(config.lastSleepTimerSeconds)))
+ }
+
+ items.sortBy { it.id }
+ items.add(RadioItem(-1, getString(R.string.custom)))
+
+ RadioGroupDialog(this, items, config.lastSleepTimerSeconds) {
+ if (it as Int == -1) {
+ SleepTimerCustomDialog(this) {
+ if (it > 0) {
+ pickedSleepTimer(it)
+ }
+ }
+ } else if (it > 0) {
+ pickedSleepTimer(it)
+ }
+ }
+ }
+
+ private fun secondsToString(seconds: Int): String {
+ val finalHours = seconds / 3600
+ val finalMinutes = (seconds / 60) % 60
+ val finalSeconds = seconds % 60
+ val parts = mutableListOf()
+ if (finalHours != 0) {
+ parts.add(resources.getQuantityString(R.plurals.hours, finalHours, finalHours))
+ }
+ if (finalMinutes != 0) {
+ parts.add(resources.getQuantityString(R.plurals.minutes, finalMinutes, finalMinutes))
+ }
+ if (finalSeconds != 0) {
+ parts.add(resources.getQuantityString(R.plurals.seconds, finalSeconds, finalSeconds))
+ }
+ return parts.joinToString(separator = " ")
+ }
+
+ private fun pickedSleepTimer(seconds: Int) {
+ config.lastSleepTimerSeconds = seconds
+ config.sleepInTS = System.currentTimeMillis() + seconds * 1000
+ startSleepTimer()
+ }
+
+ private fun startSleepTimer() {
+ binding.sleepTimerHolder.fadeIn()
+ startSleepTimerCountDown()
+ }
+
+ private fun stopSleepTimer() {
+ binding.sleepTimerHolder.fadeOut()
+ stopSleepTimerCountDown()
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ fun sleepTimerChanged(event: Events.SleepTimerChanged) {
+ binding.sleepTimerValue.text = event.seconds.getFormattedDuration()
+ binding.sleepTimerHolder.beVisible()
+
+ if (event.seconds == 0) {
+ finish()
+ }
+ }
+
@Subscribe
fun stateChangedEvent(event: Events.StateChanged) {
checkState(event.isEnabled)
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/dialogs/SleepTimerCustomDialog.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/dialogs/SleepTimerCustomDialog.kt
new file mode 100644
index 0000000..ce6b989
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/dialogs/SleepTimerCustomDialog.kt
@@ -0,0 +1,49 @@
+package com.simplemobiletools.flashlight.dialogs
+
+import android.app.Activity
+import android.view.inputmethod.EditorInfo
+import androidx.appcompat.app.AlertDialog
+import com.simplemobiletools.commons.extensions.*
+import com.simplemobiletools.flashlight.R
+import com.simplemobiletools.flashlight.databinding.DialogCustomSleepTimerPickerBinding
+
+class SleepTimerCustomDialog(val activity: Activity, val callback: (seconds: Int) -> Unit) {
+ private var dialog: AlertDialog? = null
+ private val binding = DialogCustomSleepTimerPickerBinding.inflate(activity.layoutInflater)
+
+ init {
+ binding.dialogRadioView.check(R.id.dialog_radio_minutes)
+ binding.timerValue.setOnEditorActionListener { _, actionId, _ ->
+ if (actionId == EditorInfo.IME_ACTION_DONE) {
+ dialogConfirmed()
+ return@setOnEditorActionListener true
+ }
+ return@setOnEditorActionListener false
+ }
+
+ activity.getAlertDialogBuilder()
+ .setPositiveButton(R.string.ok) { _, _ -> dialogConfirmed() }
+ .setNegativeButton(R.string.cancel, null)
+ .apply {
+ activity.setupDialogStuff(binding.root, this, R.string.sleep_timer) { alertDialog ->
+ dialog = alertDialog
+ alertDialog.showKeyboard(binding.timerValue)
+ }
+ }
+ }
+
+ private fun dialogConfirmed() {
+ val value = binding.timerValue.value
+ val minutes = Integer.valueOf(value.ifEmpty { "0" })
+ val multiplier = getMultiplier(binding.dialogRadioView.checkedRadioButtonId)
+ callback(minutes * multiplier)
+ activity.hideKeyboard()
+ dialog?.dismiss()
+ }
+
+ private fun getMultiplier(id: Int) = when (id) {
+ R.id.dialog_radio_seconds -> 1
+ R.id.dialog_radio_minutes -> 60
+ else -> 60
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Config.kt
index 4e24b45..d6292b6 100644
--- a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Config.kt
@@ -44,4 +44,12 @@ class Config(context: Context) : BaseConfig(context) {
var brightnessLevel: Int
get() = prefs.getInt(BRIGHTNESS_LEVEL, DEFAULT_BRIGHTNESS_LEVEL)
set(brightnessLevel) = prefs.edit().putInt(BRIGHTNESS_LEVEL, brightnessLevel).apply()
+
+ var lastSleepTimerSeconds: Int
+ get() = prefs.getInt(LAST_SLEEP_TIMER_SECONDS, 30 * 60)
+ set(lastSleepTimerSeconds) = prefs.edit().putInt(LAST_SLEEP_TIMER_SECONDS, lastSleepTimerSeconds).apply()
+
+ var sleepInTS: Long
+ get() = prefs.getLong(SLEEP_IN_TS, 0)
+ set(sleepInTS) = prefs.edit().putLong(SLEEP_IN_TS, sleepInTS).apply()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Constants.kt
index 1517a9c..433e626 100644
--- a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Constants.kt
@@ -12,5 +12,7 @@ const val STROBOSCOPE_PROGRESS = "stroboscope_progress"
const val FORCE_PORTRAIT_MODE = "force_portrait_mode"
const val SOS = "sos"
const val BRIGHTNESS_LEVEL = "brightness_level"
+const val LAST_SLEEP_TIMER_SECONDS = "last_sleep_timer_seconds"
+const val SLEEP_IN_TS = "sleep_in_ts"
const val MIN_BRIGHTNESS_LEVEL = 1
const val DEFAULT_BRIGHTNESS_LEVEL = -1
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/ShutDownReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/ShutDownReceiver.kt
new file mode 100644
index 0000000..8e64d39
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/ShutDownReceiver.kt
@@ -0,0 +1,12 @@
+package com.simplemobiletools.flashlight.helpers
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import kotlin.system.exitProcess
+
+class ShutDownReceiver : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ exitProcess(0)
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/SleepTimer.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/SleepTimer.kt
new file mode 100644
index 0000000..960d636
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/SleepTimer.kt
@@ -0,0 +1,70 @@
+package com.simplemobiletools.flashlight.helpers
+
+import android.app.AlarmManager
+import android.app.PendingIntent
+import android.content.Context
+import android.content.Intent
+import android.os.CountDownTimer
+import com.simplemobiletools.commons.helpers.isSPlus
+import com.simplemobiletools.flashlight.extensions.config
+import com.simplemobiletools.flashlight.models.Events
+import org.greenrobot.eventbus.EventBus
+import kotlin.system.exitProcess
+
+private var isActive = false
+private var sleepTimer: CountDownTimer? = null
+
+internal fun Context.toggleSleepTimer() {
+ if (isActive) {
+ stopSleepTimerCountDown()
+ } else {
+ startSleepTimerCountDown()
+ }
+}
+
+internal fun Context.startSleepTimerCountDown() {
+ val millisInFuture = config.sleepInTS - System.currentTimeMillis() + 1000L
+ (getSystemService(Context.ALARM_SERVICE) as AlarmManager).apply {
+ if (!isSPlus() || canScheduleExactAlarms()) {
+ setExactAndAllowWhileIdle(
+ AlarmManager.RTC_WAKEUP,
+ config.sleepInTS,
+ getShutDownPendingIntent()
+ )
+ } else {
+ setAndAllowWhileIdle(
+ AlarmManager.RTC_WAKEUP,
+ config.sleepInTS,
+ getShutDownPendingIntent()
+ )
+ }
+ }
+ sleepTimer?.cancel()
+ sleepTimer = object : CountDownTimer(millisInFuture, 1000) {
+ override fun onTick(millisUntilFinished: Long) {
+ val seconds = (millisUntilFinished / 1000).toInt()
+ EventBus.getDefault().post(Events.SleepTimerChanged(seconds))
+ }
+
+ override fun onFinish() {
+ config.sleepInTS = 0
+ EventBus.getDefault().post(Events.SleepTimerChanged(0))
+ stopSleepTimerCountDown()
+ exitProcess(0)
+ }
+ }
+
+ sleepTimer?.start()
+ isActive = true
+}
+
+internal fun Context.stopSleepTimerCountDown() {
+ (getSystemService(Context.ALARM_SERVICE) as AlarmManager).cancel(getShutDownPendingIntent())
+ sleepTimer?.cancel()
+ sleepTimer = null
+ isActive = false
+ config.sleepInTS = 0
+}
+
+internal fun Context.getShutDownPendingIntent() =
+ PendingIntent.getBroadcast(this, 0, Intent(this, ShutDownReceiver::class.java), PendingIntent.FLAG_IMMUTABLE)
diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/models/Events.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/models/Events.kt
index 77debec..b5f86ca 100644
--- a/app/src/main/kotlin/com/simplemobiletools/flashlight/models/Events.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/models/Events.kt
@@ -8,4 +8,6 @@ class Events {
class StopStroboscope
class StopSOS
+
+ class SleepTimerChanged(val seconds: Int)
}
diff --git a/app/src/main/res/layout/activity_bright_display.xml b/app/src/main/res/layout/activity_bright_display.xml
index 2a31099..e9e29b5 100644
--- a/app/src/main/res/layout/activity_bright_display.xml
+++ b/app/src/main/res/layout/activity_bright_display.xml
@@ -1,5 +1,7 @@
@@ -19,4 +21,71 @@
android:alpha="0.5"
android:text="@string/change_color" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 1547162..a73b59d 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,6 +1,7 @@
@@ -111,6 +112,72 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/stroboscope_btn" />
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_custom_sleep_timer_picker.xml b/app/src/main/res/layout/dialog_custom_sleep_timer_picker.xml
new file mode 100644
index 0000000..14a0446
--- /dev/null
+++ b/app/src/main/res/layout/dialog_custom_sleep_timer_picker.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml
index b517bc7..40efc45 100644
--- a/app/src/main/res/menu/menu.xml
+++ b/app/src/main/res/menu/menu.xml
@@ -13,6 +13,10 @@
android:icon="@drawable/ic_info_vector"
android:title="@string/about"
app:showAsAction="always" />
+
-
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index ae9c96b..edc4fdd 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index b98d983..e139ba8 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index 8d0e812..306e229 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 4076afc..2fbaa77 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 32cb487..7b42494 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml
index d70cd82..3aca0aa 100644
--- a/app/src/main/res/values-cy/strings.xml
+++ b/app/src/main/res/values-cy/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index d392cbd..2dc7fb3 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index e23dbba..a5a8461 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 4e715fd..9187c52 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 5cf0e2b..ead9f56 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index a44ebb6..c9d9071 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 0be7081..407f574 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 1785a81..e170b81 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 9287a1f..759a290 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 67ca079..7e34be5 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index efe45f5..4ab4759 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 9a3fe55..4efa3f0 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 6eafd73..870b035 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 023e51b..19cc80f 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index fc9a343..5337a46 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 253b2ab..ac08e8f 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index 6b0b97f..739b2df 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index be439d9..d26b505 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index bbd7b3f..8268d79 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 722683e..5d39bd6 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 5f0feb3..fadae7b 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 27eaf31..befd109 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 63b9a4b..d5e7080 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index d9dafab..5295033 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index bda673e..d30f233 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index ccc8a2b..d716ec5 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 26a2c81..dffe14c 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index e918bb8..42599cb 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 330c4a8..e5fff7e 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index e0f0ef0..ece8103 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index dadd0bb..8f28b43 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index e288077..6701d5c 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 893bd80..b0a71cb 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 04489b1..3b04cb7 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -14,4 +14,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+