diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 7da4264..c528d15 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -6,6 +6,7 @@ import android.os.Bundle import android.text.InputType import android.view.Menu import android.view.MenuItem +import android.view.WindowManager import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate @@ -31,6 +32,12 @@ class MainActivity : AppCompatActivity() { inputTeamA.requestFocus() disableSubmitButton() updateTheme(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getInt("Theme", 2)) + keepScreenOn( + this.getSharedPreferences("Settings", Context.MODE_PRIVATE) + .getBoolean("Screen_On", false) + ) + + history = savedInstanceState?.getParcelable("history") ?: History() updateView() @@ -265,9 +272,14 @@ class MainActivity : AppCompatActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.menu_main, menu) + + menu.findItem(R.id.action_screenOn).isChecked = + this.getSharedPreferences("Settings", Context.MODE_PRIVATE) + .getBoolean("Screen_On", false) return true } + override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.action_clear -> { @@ -282,6 +294,11 @@ class MainActivity : AppCompatActivity() { chooseThemeDialog() true } + R.id.action_screenOn -> { + item.isChecked = !item.isChecked + keepScreenOn(item.isChecked) + true + } else -> super.onOptionsItemSelected(item) } } @@ -381,4 +398,16 @@ class MainActivity : AppCompatActivity() { } delegate.applyDayNight() } + + private fun keepScreenOn(keepOn: Boolean) { + if (keepOn) { + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } else { + window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } + + val prefs = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).edit() + prefs.putBoolean("Screen_On", keepOn) + prefs.apply() + } } \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 779bead..dd7f051 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -17,4 +17,9 @@ android:id="@+id/action_theme" android:orderInCategory="15" android:title="@string/choose_theme_text" /> + \ 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 560610f..d7fc65a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3,4 +3,5 @@ Neues Spiel Starten Letzte Runde Löschen Theme auswählen + Bildschirm eingeschaltet lassen \ No newline at end of file diff --git a/app/src/main/res/values-gsw-rCH/strings.xml b/app/src/main/res/values-gsw-rCH/strings.xml index c8d4afd..b6bd626 100644 --- a/app/src/main/res/values-gsw-rCH/strings.xml +++ b/app/src/main/res/values-gsw-rCH/strings.xml @@ -3,4 +3,5 @@ Neus Spil Starte Letschti Rundi Lösche Usgsehe ändere + Bildschirm igschalted la \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e770fb..2ecf4a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,4 +7,5 @@ Start New Game Undo Last Round Choose theme + Keep screen on \ No newline at end of file