From 7385afb734ff45a5d3c18bd53dd46f6fe2a139a2 Mon Sep 17 00:00:00 2001 From: mueller-ma Date: Mon, 31 Jul 2023 22:16:27 +0200 Subject: [PATCH] Change theme when chaning preference Closes #109 --- .../java/com/picross/nonocross/SettingsActivity.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/com/picross/nonocross/SettingsActivity.kt b/app/src/main/java/com/picross/nonocross/SettingsActivity.kt index c2bb881..b0561c0 100644 --- a/app/src/main/java/com/picross/nonocross/SettingsActivity.kt +++ b/app/src/main/java/com/picross/nonocross/SettingsActivity.kt @@ -1,8 +1,11 @@ package com.picross.nonocross import android.os.Bundle +import android.os.Handler +import android.os.Looper import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDelegate import androidx.fragment.app.commit import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat @@ -10,6 +13,7 @@ import com.mikepenz.aboutlibraries.LibsBuilder import com.mikepenz.aboutlibraries.LibsConfiguration import com.mikepenz.aboutlibraries.entity.Library import com.mikepenz.aboutlibraries.util.SpecialButton +import com.picross.nonocross.util.Preferences import com.picross.nonocross.util.openInBrowser class SettingsActivity : AppCompatActivity() { @@ -30,6 +34,14 @@ class SettingsActivity : AppCompatActivity() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.root_preferences, rootKey) + val themePref = preferenceManager.findPreference("darkMode2")!! + themePref.setOnPreferenceChangeListener { preference, _ -> + Handler(Looper.getMainLooper()).post { + AppCompatDelegate.setDefaultNightMode(Preferences(preference.context).theme) + } + true + } + val aboutPref = preferenceManager.findPreference("about")!! aboutPref.setOnPreferenceClickListener { val fragment = LibsBuilder()