|
|
@ -10,6 +10,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|
|
|
import androidx.appcompat.app.AppCompatDelegate
|
|
|
|
import androidx.appcompat.app.AppCompatDelegate
|
|
|
|
import androidx.preference.PreferenceFragmentCompat
|
|
|
|
import androidx.preference.PreferenceFragmentCompat
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
|
|
|
|
import org.mozilla.fenix.ext.requireComponents
|
|
|
|
|
|
|
|
|
|
|
|
class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
private lateinit var radioLightTheme: RadioButtonPreference
|
|
|
|
private lateinit var radioLightTheme: RadioButtonPreference
|
|
|
@ -64,8 +65,7 @@ class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
val keyLightTheme = getString(R.string.pref_key_light_theme)
|
|
|
|
val keyLightTheme = getString(R.string.pref_key_light_theme)
|
|
|
|
radioLightTheme = requireNotNull(findPreference(keyLightTheme))
|
|
|
|
radioLightTheme = requireNotNull(findPreference(keyLightTheme))
|
|
|
|
radioLightTheme.onClickListener {
|
|
|
|
radioLightTheme.onClickListener {
|
|
|
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
|
|
|
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_NO)
|
|
|
|
activity?.recreate()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -75,8 +75,7 @@ class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
val keyBatteryTheme = getString(R.string.pref_key_auto_battery_theme)
|
|
|
|
val keyBatteryTheme = getString(R.string.pref_key_auto_battery_theme)
|
|
|
|
radioAutoBatteryTheme = requireNotNull(findPreference(keyBatteryTheme))
|
|
|
|
radioAutoBatteryTheme = requireNotNull(findPreference(keyBatteryTheme))
|
|
|
|
radioAutoBatteryTheme.onClickListener {
|
|
|
|
radioAutoBatteryTheme.onClickListener {
|
|
|
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY)
|
|
|
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY)
|
|
|
|
activity?.recreate()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -84,8 +83,7 @@ class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
val keyDarkTheme = getString(R.string.pref_key_dark_theme)
|
|
|
|
val keyDarkTheme = getString(R.string.pref_key_dark_theme)
|
|
|
|
radioDarkTheme = requireNotNull(findPreference(keyDarkTheme))
|
|
|
|
radioDarkTheme = requireNotNull(findPreference(keyDarkTheme))
|
|
|
|
radioDarkTheme.onClickListener {
|
|
|
|
radioDarkTheme.onClickListener {
|
|
|
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
|
|
|
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_YES)
|
|
|
|
activity?.recreate()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -94,9 +92,14 @@ class ThemeFragment : PreferenceFragmentCompat() {
|
|
|
|
radioFollowDeviceTheme = requireNotNull(findPreference(keyDeviceTheme))
|
|
|
|
radioFollowDeviceTheme = requireNotNull(findPreference(keyDeviceTheme))
|
|
|
|
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
|
|
|
|
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
|
|
|
|
radioFollowDeviceTheme.onClickListener {
|
|
|
|
radioFollowDeviceTheme.onClickListener {
|
|
|
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
|
|
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
|
|
|
activity?.recreate()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun setNewTheme(mode: Int) {
|
|
|
|
|
|
|
|
AppCompatDelegate.setDefaultNightMode(mode)
|
|
|
|
|
|
|
|
activity?.recreate()
|
|
|
|
|
|
|
|
requireComponents.useCases.sessionUseCases.reload.invoke()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|