Merge light and dark themes (#5470)

* Merge AMOLED and regular dark themes

This allows all variants of dark themes to use black backgrounds as a
separate preference.

* Merge light and dark themes

* Fix ReaderSeekBar color on Dark Blue theme

* Color fixes

* Fix Dark Blue bars ripple

* Simplify night mode check
This commit is contained in:
Ivan Iskandar
2021-07-02 19:44:04 +07:00
committed by GitHub
parent 82f3677168
commit 0eadc028b6
71 changed files with 408 additions and 785 deletions

View File

@@ -7,9 +7,9 @@ object PreferenceKeys {
const val themeMode = "pref_theme_mode_key"
const val themeLight = "pref_theme_light_key"
const val appTheme = "pref_app_theme"
const val themeDark = "pref_theme_dark_key"
const val themeDarkAmoled = "pref_theme_dark_amoled_key"
const val confirmExit = "pref_confirm_exit"

View File

@@ -1,5 +1,7 @@
package eu.kanade.tachiyomi.data.preference
import eu.kanade.tachiyomi.R
const val UNMETERED_NETWORK = "wifi"
const val CHARGING = "ac"
@@ -17,26 +19,18 @@ object PreferenceValues {
system,
}
// Keys are lowercase to match legacy string values
enum class LightThemeVariant {
default,
blue,
strawberrydaiquiri,
yotsuba
}
// Keys are lowercase to match legacy string values
enum class DarkThemeVariant {
default,
blue,
greenapple,
midnightdusk,
amoled,
hotpink,
}
/* ktlint-enable experimental:enum-entry-name-case */
enum class AppTheme(val titleResId: Int) {
DEFAULT(R.string.theme_default),
DARK_BLUE(R.string.theme_darkblue),
GREEN_APPLE(R.string.theme_greenapple),
HOT_PINK(R.string.theme_hotpink),
MIDNIGHT_DUSK(R.string.theme_midnightdusk),
STRAWBERRY_DAIQUIRI(R.string.theme_strawberrydaiquiri),
YOTSUBA(R.string.theme_yotsuba)
}
enum class TappingInvertMode(val shouldInvertHorizontal: Boolean = false, val shouldInvertVertical: Boolean = false) {
NONE,
HORIZONTAL(shouldInvertHorizontal = true),

View File

@@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.data.preference
import android.content.Context
import android.content.res.Configuration
import android.os.Environment
import androidx.core.content.edit
import androidx.core.net.toUri
@@ -90,9 +89,9 @@ class PreferencesHelper(val context: Context) {
fun themeMode() = flowPrefs.getEnum(Keys.themeMode, system)
fun themeLight() = flowPrefs.getEnum(Keys.themeLight, Values.LightThemeVariant.default)
fun appTheme() = flowPrefs.getEnum(Keys.appTheme, Values.AppTheme.DEFAULT)
fun themeDark() = flowPrefs.getEnum(Keys.themeDark, Values.DarkThemeVariant.default)
fun themeDarkAmoled() = flowPrefs.getBoolean(Keys.themeDarkAmoled, false)
fun pageTransitions() = flowPrefs.getBoolean(Keys.enableTransitions, true)
@@ -325,15 +324,4 @@ class PreferencesHelper(val context: Context) {
putInt(Keys.defaultChapterSortByAscendingOrDescending, if (manga.sortDescending()) Manga.CHAPTER_SORT_DESC else Manga.CHAPTER_SORT_ASC)
}
}
fun isDarkMode(): Boolean {
return when (themeMode().get()) {
light -> false
dark -> true
system -> {
context.applicationContext.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK ==
Configuration.UI_MODE_NIGHT_YES
}
}
}
}