diff --git a/app/src/main/java/de/kuschku/quasseldroid/settings/AppearanceSettings.kt b/app/src/main/java/de/kuschku/quasseldroid/settings/AppearanceSettings.kt index 2720317ded3da4d982748be838ae6b2746145595..4eea3ce72c12cbbbe517785ff4306161566e4310 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/settings/AppearanceSettings.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/settings/AppearanceSettings.kt @@ -26,7 +26,8 @@ data class AppearanceSettings( val inputEnter: InputEnterMode = InputEnterMode.EMOJI, val showLag: Boolean = true, val theme: Theme = Theme.MATERIAL_LIGHT, - val language: String = "" + val language: String = "", + val keepScreenOn: Boolean = false ) { enum class InputEnterMode { EMOJI, diff --git a/app/src/main/java/de/kuschku/quasseldroid/settings/Settings.kt b/app/src/main/java/de/kuschku/quasseldroid/settings/Settings.kt index 1efeced29b82a2b81bf423b4f8dcc65485b2ab73..015d621ba63d7ec3b26a128efc808fbed9b2565d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/settings/Settings.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/settings/Settings.kt @@ -44,6 +44,10 @@ object Settings { context.getString(R.string.preference_show_lag_key), AppearanceSettings.DEFAULT.showLag ), + keepScreenOn = getBoolean( + context.getString(R.string.preference_keep_screen_on_key), + AppearanceSettings.DEFAULT.keepScreenOn + ), language = getString( context.getString(R.string.preference_language_key), AppearanceSettings.DEFAULT.language diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt index db87d423684c49e39df27533e590234bfe665048..b9c355097f96ed0ed5db92a2b41e15fdb5de02c0 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt @@ -24,6 +24,7 @@ import android.content.SharedPreferences import android.os.Bundle import android.support.annotation.ColorRes import android.support.annotation.DrawableRes +import android.view.WindowManager import de.kuschku.libquassel.session.Backend import de.kuschku.libquassel.util.Optional import de.kuschku.quasseldroid.Keys @@ -75,6 +76,10 @@ abstract class ServiceBoundActivity : connection.context = this lifecycle.addObserver(connection) checkConnection() + + if (appearanceSettings.keepScreenOn) { + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } } fun updateRecentsHeader() = diff --git a/app/src/main/res/values-de/strings_preferences.xml b/app/src/main/res/values-de/strings_preferences.xml index 56f9477bf2639fe673ee3446203e2eaea6876b41..3f0abe89ace9de3921928b7482f44a2dc0f26252 100644 --- a/app/src/main/res/values-de/strings_preferences.xml +++ b/app/src/main/res/values-de/strings_preferences.xml @@ -31,12 +31,17 @@ <string name="preference_theme_entry_gruvbox_light">Gruvbox (Hell)</string> <string name="preference_theme_entry_gruvbox_dark">Gruvbox (Dunkel)</string> <string name="preference_theme_entry_dracula">Dracula</string> + <string name="preference_input_enter_title">Eingabetaste auf Tastatur</string> <string name="preference_input_enter_entry_emoji">Emoji-Auswahl</string> <string name="preference_input_enter_entry_send">Senden</string> + <string name="preference_show_lag_title">Latenz anzeigen</string> <string name="preference_show_lag_summary">Zeigt die Gerät-Core-Latenz in der Statusleiste</string> + <string name="preference_keep_screen_on_title">Bildschirm aktiv halten</string> + <string name="preference_keep_screen_on_summary">Verhindert, dass das Gerät in den Schlafmodus wechselt während die App im Vordergrund ist</string> + <string name="preference_language_title">Sprache</string> <string name="preference_language_entry_auto">System-Standardsprache</string> <string name="preference_notifications_title">Benachrichtigungen</string> diff --git a/app/src/main/res/values/strings_preferences.xml b/app/src/main/res/values/strings_preferences.xml index a3e3ccc49b831e73525eb7c1697761dac7b2dbca..23cf0cbf92d1cd592171a9da8e27f0d7152bafcf 100644 --- a/app/src/main/res/values/strings_preferences.xml +++ b/app/src/main/res/values/strings_preferences.xml @@ -74,6 +74,10 @@ <string name="preference_show_lag_title">Show lag</string> <string name="preference_show_lag_summary">Displays the lag between client and core in the action bar</string> + <string name="preference_keep_screen_on_key" translatable="false">keep_screen_on</string> + <string name="preference_keep_screen_on_title">Keep Screen Active</string> + <string name="preference_keep_screen_on_summary">Prevents the device from going to sleep while the app is in foreground</string> + <string name="preference_language_key" translatable="false">language</string> <string name="preference_language_title">Language</string> <string name="preference_language_entry_auto">System Default</string> diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index ae83ca1528c9d495902f24dd66d47a2b52bc4981..5f5fb5685b1cf6129b4d92eca22400fb786859cd 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -41,6 +41,12 @@ android:summary="@string/preference_show_lag_summary" android:title="@string/preference_show_lag_title" /> + <SwitchPreference + android:defaultValue="false" + android:key="@string/preference_keep_screen_on_key" + android:summary="@string/preference_keep_screen_on_summary" + android:title="@string/preference_keep_screen_on_title" /> + <DropDownPreference android:defaultValue="" android:entries="@array/preference_language_entries"