pull/298/head
gedoor 4 years ago
parent 35f24dc89e
commit 16a958de8e
  1. 89
      app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt

@ -17,11 +17,10 @@ import io.legado.app.constant.PreferKey
import io.legado.app.help.AppConfig import io.legado.app.help.AppConfig
import io.legado.app.help.LauncherIconHelp import io.legado.app.help.LauncherIconHelp
import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.dialogs.noButton
import io.legado.app.lib.dialogs.yesButton
import io.legado.app.lib.theme.ATH import io.legado.app.lib.theme.ATH
import io.legado.app.lib.theme.ColorUtils import io.legado.app.lib.theme.ColorUtils
import io.legado.app.ui.widget.number.NumberPickerDialog import io.legado.app.ui.widget.number.NumberPickerDialog
import io.legado.app.ui.widget.prefs.ColorPreference
import io.legado.app.ui.widget.prefs.IconListPreference import io.legado.app.ui.widget.prefs.IconListPreference
import io.legado.app.utils.* import io.legado.app.utils.*
@ -40,6 +39,46 @@ class ThemeConfigFragment : BasePreferenceFragment(),
} }
} }
upPreferenceSummary(PreferKey.barElevation, AppConfig.elevation.toString()) upPreferenceSummary(PreferKey.barElevation, AppConfig.elevation.toString())
findPreference<ColorPreference>(PreferKey.cBackground)?.let {
it.onSaveColor = { color ->
if (!ColorUtils.isColorLight(color)) {
toast("白天背景不能太暗")
true
} else {
false
}
}
}
findPreference<ColorPreference>(PreferKey.cBBackground)?.let {
it.onSaveColor = { color ->
if (!ColorUtils.isColorLight(color)) {
toast("白天底栏不能太暗")
true
} else {
false
}
}
}
findPreference<ColorPreference>(PreferKey.cNBackground)?.let {
it.onSaveColor = { color ->
if (ColorUtils.isColorLight(color)) {
toast("夜间背景不能太亮")
true
} else {
false
}
}
}
findPreference<ColorPreference>(PreferKey.cNBBackground)?.let {
it.onSaveColor = { color ->
if (ColorUtils.isColorLight(color)) {
toast("夜间底栏不能太亮")
true
} else {
false
}
}
}
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -82,39 +121,13 @@ class ThemeConfigFragment : BasePreferenceFragment(),
PreferKey.cAccent, PreferKey.cAccent,
PreferKey.cBackground, PreferKey.cBackground,
PreferKey.cBBackground -> { PreferKey.cBBackground -> {
if (backgroundIsDark(sharedPreferences)) { upTheme(false)
alert {
title = "白天背景太暗"
message = "将会恢复默认背景?"
yesButton {
upTheme(false)
}
noButton {
upTheme(false)
}
}.show().applyTint()
} else {
upTheme(false)
}
} }
PreferKey.cNPrimary, PreferKey.cNPrimary,
PreferKey.cNAccent, PreferKey.cNAccent,
PreferKey.cNBackground, PreferKey.cNBackground,
PreferKey.cNBBackground -> { PreferKey.cNBBackground -> {
if (backgroundIsLight(sharedPreferences)) { upTheme(true)
alert {
title = "夜间背景太亮"
message = "将会恢复默认背景?"
yesButton {
upTheme(true)
}
noButton {
upTheme(true)
}
}.show().applyTint()
} else {
upTheme(true)
}
} }
} }
@ -188,22 +201,6 @@ class ThemeConfigFragment : BasePreferenceFragment(),
}.show().applyTint() }.show().applyTint()
} }
private fun backgroundIsDark(sharedPreferences: SharedPreferences): Boolean {
return !ColorUtils.isColorLight(
sharedPreferences.getInt(PreferKey.cBackground, getCompatColor(R.color.md_grey_100))
) || !ColorUtils.isColorLight(
sharedPreferences.getInt(PreferKey.cBBackground, getCompatColor(R.color.md_grey_200))
)
}
private fun backgroundIsLight(sharedPreferences: SharedPreferences): Boolean {
return ColorUtils.isColorLight(
sharedPreferences.getInt(PreferKey.cNBackground, getCompatColor(R.color.md_grey_800))
) || ColorUtils.isColorLight(
sharedPreferences.getInt(PreferKey.cNBBackground, getCompatColor(R.color.md_grey_850))
)
}
private fun upTheme(isNightTheme: Boolean) { private fun upTheme(isNightTheme: Boolean) {
if (AppConfig.isNightTheme == isNightTheme) { if (AppConfig.isNightTheme == isNightTheme) {
listView.post { listView.post {

Loading…
Cancel
Save