DroidFS/app/src/main/java/sushi/hardcore/droidfs/BaseActivity.kt

53 lines
2.0 KiB
Kotlin
Raw Normal View History

2020-07-17 16:35:39 +02:00
package sushi.hardcore.droidfs
import android.content.SharedPreferences
import android.os.Bundle
import android.view.WindowManager
2021-11-09 11:12:09 +01:00
import androidx.appcompat.app.AppCompatActivity
2020-07-17 16:35:39 +02:00
import androidx.preference.PreferenceManager
2021-11-09 11:12:09 +01:00
open class BaseActivity: AppCompatActivity() {
2020-07-17 16:35:39 +02:00
protected lateinit var sharedPrefs: SharedPreferences
2022-03-05 12:51:02 +01:00
lateinit var themeValue: String
private var shouldCheckTheme = true
2021-11-09 11:12:09 +01:00
2020-07-17 16:35:39 +02:00
override fun onCreate(savedInstanceState: Bundle?) {
2021-11-09 11:12:09 +01:00
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this)
if (shouldCheckTheme) {
2022-03-05 12:51:02 +01:00
themeValue = sharedPrefs.getString("theme", ConstValues.DEFAULT_THEME_VALUE)!!
2021-11-09 11:12:09 +01:00
when (themeValue) {
"black_green" -> setTheme(R.style.BlackGreen)
"dark_red" -> setTheme(R.style.DarkRed)
"black_red" -> setTheme(R.style.BlackRed)
"dark_blue" -> setTheme(R.style.DarkBlue)
"black_blue" -> setTheme(R.style.BlackBlue)
"dark_yellow" -> setTheme(R.style.DarkYellow)
"black_yellow" -> setTheme(R.style.BlackYellow)
"dark_orange" -> setTheme(R.style.DarkOrange)
"black_orange" -> setTheme(R.style.BlackOrange)
"dark_purple" -> setTheme(R.style.DarkPurple)
"black_purple" -> setTheme(R.style.BlackPurple)
}
} else {
shouldCheckTheme = true
}
2020-07-17 16:35:39 +02:00
super.onCreate(savedInstanceState)
2020-07-21 15:05:05 +02:00
if (!sharedPrefs.getBoolean("usf_screenshot", false)){
window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
}
2020-07-17 16:35:39 +02:00
}
2021-11-09 11:12:09 +01:00
override fun onStart() {
super.onStart()
val newThemeValue = sharedPrefs.getString("theme", "dark_green")!!
onThemeChanged(newThemeValue)
}
fun onThemeChanged(newThemeValue: String) {
if (newThemeValue != themeValue) {
themeValue = newThemeValue
shouldCheckTheme = false
recreate()
}
2020-08-07 22:40:13 +02:00
}
2020-07-17 16:35:39 +02:00
}