VancedManager/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt

67 lines
2.4 KiB
Kotlin
Raw Normal View History

package com.vanced.manager.ui.fragments
import android.content.res.Configuration
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
import androidx.fragment.app.FragmentManager
import androidx.preference.DialogPreference
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.vanced.manager.R
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences, rootKey)
activity?.title = getString(R.string.title_settings)
setHasOptionsMenu(true)
val updateCheck: Preference? = findPreference("update_check")
updateCheck?.setOnPreferenceClickListener {
val fm = childFragmentManager.beginTransaction()
val updateDialog = UpdateCheckFragment()
updateDialog.show(fm, "Update Center")
true
}
val themeSwitch: ListPreference? = findPreference("theme_mode")
themeSwitch?.setOnPreferenceChangeListener { _, _ ->
when (themeSwitch.value){
"LIGHT" -> {
2020-05-02 14:39:47 +00:00
activity?.setTheme(R.style.LightTheme)
2020-05-02 13:05:19 +00:00
activity?.recreate()
}
"DARK" -> {
2020-05-02 14:39:47 +00:00
activity?.setTheme(R.style.DarkTheme)
2020-05-02 13:05:19 +00:00
activity?.recreate()
}
"FOLLOW" -> {
when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_YES ->{
2020-05-02 14:39:47 +00:00
activity?.setTheme(R.style.DarkTheme)
2020-05-02 13:05:19 +00:00
activity?.recreate()
}
Configuration.UI_MODE_NIGHT_NO -> {
2020-05-02 14:39:47 +00:00
activity?.setTheme(R.style.LightTheme)
2020-05-02 13:05:19 +00:00
activity?.recreate()
}
}
}
else -> {
2020-05-02 14:39:47 +00:00
activity?.setTheme(R.style.LightTheme)
2020-05-02 13:05:19 +00:00
activity?.recreate()
}
}
true
}
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.secret_settings_menu, menu)
2020-04-22 09:41:18 +00:00
super .onCreateOptionsMenu(menu, inflater)
}
}