MainActivity.kt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.sduduzog.slimlauncher
  2. import android.content.SharedPreferences
  3. import android.content.res.Resources
  4. import android.os.Bundle
  5. import android.support.v7.app.AppCompatActivity
  6. import androidx.navigation.Navigation
  7. import androidx.navigation.Navigation.findNavController
  8. class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceChangeListener {
  9. private lateinit var settings: SharedPreferences
  10. override fun onCreate(savedInstanceState: Bundle?) {
  11. super.onCreate(savedInstanceState)
  12. setContentView(R.layout.main_activity)
  13. settings = getSharedPreferences("settings", MODE_PRIVATE)
  14. settings.registerOnSharedPreferenceChangeListener(this)
  15. }
  16. override fun onSupportNavigateUp(): Boolean {
  17. return findNavController(this, R.id.nav_host_fragment).navigateUp()
  18. }
  19. override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, s: String?) {
  20. recreate()
  21. }
  22. override fun getTheme(): Resources.Theme {
  23. val theme = super.getTheme()
  24. settings = getSharedPreferences("settings", MODE_PRIVATE)
  25. val active = settings.getBoolean("theme", false)
  26. if (active) {
  27. theme.applyStyle(R.style.AppDarkTheme, true)
  28. } else {
  29. theme.applyStyle(R.style.AppLightTheme, true)
  30. }
  31. return theme
  32. }
  33. override fun onBackPressed() {
  34. val nav = Navigation.findNavController(this, R.id.nav_host_fragment)
  35. nav.navigateUp()
  36. }
  37. }