From e41edc1fb754a577dc2c367ba0e6dd8135d53d60 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 14 Mar 2020 13:18:34 -0400 Subject: [PATCH] Pure white light theme --- app/src/main/AndroidManifest.xml | 2 +- .../data/preference/PreferenceKeys.kt | 2 + .../data/preference/PreferenceValues.kt | 3 ++ .../data/preference/PreferencesHelper.kt | 4 +- .../ui/base/activity/BaseActivity.kt | 33 ++++++++++-- .../ui/setting/SettingsGeneralController.kt | 22 ++++++++ .../res/layout/catalogue_drawer_content.xml | 4 +- .../res/layout/download_custom_amount.xml | 8 +-- .../main/res/layout/navigation_view_group.xml | 4 +- app/src/main/res/layout/reader_activity.xml | 4 +- .../main/res/layout/recent_section_item.xml | 3 +- app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values-v23/themes.xml | 9 ++++ app/src/main/res/values-v27/themes.xml | 12 +++++ app/src/main/res/values/colors.xml | 3 +- app/src/main/res/values/strings.xml | 3 ++ app/src/main/res/values/themes.xml | 54 ++++++++++++------- 17 files changed, 133 insertions(+), 39 deletions(-) create mode 100644 app/src/main/res/values-v23/themes.xml create mode 100644 app/src/main/res/values-v27/themes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 91e613917c..463a8453f5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,7 +26,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" android:largeHeap="true" - android:theme="@style/Theme.Tachiyomi"> + android:theme="@style/Theme.Tachiyomi.Light"> R.style.Theme_Tachiyomi_LightBlue + else -> { + when { + // Light status + navigation bar + Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1 -> { + R.style.Theme_Tachiyomi_Light_Api27 + } + // Light status bar + fallback gray navigation bar + Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> { + R.style.Theme_Tachiyomi_Light_Api23 + } + // Fallback gray status + navigation bar + else -> { + R.style.Theme_Tachiyomi_Light + } + } + } + } + } + private val darkTheme: Int by lazy { when (preferences.themeDark()) { - Values.THEME_DARK_DEFAULT -> R.style.Theme_Tachiyomi_Dark + Values.THEME_DARK_BLUE -> R.style.Theme_Tachiyomi_DarkBlue Values.THEME_DARK_AMOLED -> R.style.Theme_Tachiyomi_Amoled - else -> R.style.Theme_Tachiyomi_DarkBlue + else -> R.style.Theme_Tachiyomi_Dark } } @@ -33,15 +56,15 @@ abstract class BaseActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { setTheme(when (preferences.themeMode().getOrDefault()) { - Values.THEME_MODE_DARK -> darkTheme Values.THEME_MODE_SYSTEM -> { if (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES) { darkTheme } else { - R.style.Theme_Tachiyomi + lightTheme } } - else -> R.style.Theme_Tachiyomi + Values.THEME_MODE_DARK -> darkTheme + else -> lightTheme }) super.onCreate(savedInstanceState) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt index 6d6c68d928..138f5a3534 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt @@ -118,6 +118,28 @@ class SettingsGeneralController : SettingsController() { true } } + listPreference { + key = Keys.themeLight + titleRes = R.string.pref_theme_light + entriesRes = arrayOf( + R.string.theme_light_default, + R.string.theme_light_blue) + entryValues = arrayOf( + Values.THEME_LIGHT_DEFAULT, + Values.THEME_LIGHT_BLUE) + defaultValue = Values.THEME_LIGHT_DEFAULT + summary = "%s" + + preferences.themeMode().asObservable() + .subscribeUntilDestroy { isVisible = it != Values.THEME_MODE_DARK } + + onChange { + if (preferences.themeMode().getOrDefault() == Values.THEME_MODE_LIGHT) { + activity?.recreate() + } + true + } + } listPreference { key = Keys.themeDark titleRes = R.string.pref_theme_dark diff --git a/app/src/main/res/layout/catalogue_drawer_content.xml b/app/src/main/res/layout/catalogue_drawer_content.xml index a0662e48a1..0a72f06935 100644 --- a/app/src/main/res/layout/catalogue_drawer_content.xml +++ b/app/src/main/res/layout/catalogue_drawer_content.xml @@ -10,7 +10,7 @@ android:id="@+id/title_background" android:layout_width="match_parent" android:layout_height="?attr/listPreferredItemHeightSmall" - android:background="?colorPrimary" + android:background="?attr/colorPrimary" android:elevation="2dp" android:gravity="center_vertical" android:orientation="horizontal" @@ -25,7 +25,7 @@ android:ellipsize="end" android:maxLines="1" android:textAppearance="@style/TextAppearance.AppCompat.Body2" - android:textColor="@color/textColorPrimaryDark" + android:textColor="?attr/colorOnPrimary" tools:text="Title" /> diff --git a/app/src/main/res/layout/download_custom_amount.xml b/app/src/main/res/layout/download_custom_amount.xml index b4368204ed..d0877334ad 100644 --- a/app/src/main/res/layout/download_custom_amount.xml +++ b/app/src/main/res/layout/download_custom_amount.xml @@ -12,7 +12,7 @@ android:layout_height="match_parent" android:background="@drawable/list_item_selector" android:padding="8dp" - android:tint="?colorAccent" + android:tint="?attr/colorAccent" app:srcCompat="@drawable/ic_chevron_left_double_black_24dp" /> diff --git a/app/src/main/res/layout/navigation_view_group.xml b/app/src/main/res/layout/navigation_view_group.xml index 33d15aee59..30f656727c 100644 --- a/app/src/main/res/layout/navigation_view_group.xml +++ b/app/src/main/res/layout/navigation_view_group.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="?attr/listPreferredItemHeightSmall" - android:background="?colorPrimary" + android:background="?attr/colorPrimary" android:elevation="2dp" android:gravity="center_vertical" android:orientation="horizontal" @@ -18,7 +18,7 @@ android:ellipsize="end" android:maxLines="1" android:textAppearance="@style/TextAppearance.AppCompat.Body2" - android:textColor="@color/textColorPrimaryDark" + android:textColor="?attr/colorOnPrimary" tools:text="Header" /> + android:background="?attr/colorPrimary" /> diff --git a/app/src/main/res/layout/recent_section_item.xml b/app/src/main/res/layout/recent_section_item.xml index 7675fab571..e6bf0e8a98 100644 --- a/app/src/main/res/layout/recent_section_item.xml +++ b/app/src/main/res/layout/recent_section_item.xml @@ -14,6 +14,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:maxLines="1" /> + android:maxLines="1" + android:textColor="?attr/colorOnPrimary" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index ee18c7ea50..9851cc77bf 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -4,7 +4,7 @@ - + + diff --git a/app/src/main/res/values-v27/themes.xml b/app/src/main/res/values-v27/themes.xml new file mode 100644 index 0000000000..acffe0155e --- /dev/null +++ b/app/src/main/res/values-v27/themes.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index ec95d7cc21..5199b30d23 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -38,7 +38,8 @@ @color/md_grey_50_75 @color/md_grey_900_75 - #FFEE07 + #FFC107 + #FFEB3B #DE000000 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1a79888a9e..c8a5156913 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -125,6 +125,9 @@ Light Dark Follow system + Light theme variant + Default + Light blue Dark theme variant Default Dark blue diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index dac3e501c3..4bdabc66d0 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -15,11 +15,11 @@ true - @color/colorPrimary - @color/textColorPrimaryDark - @color/colorPrimary + @color/md_white_1000 + @color/md_black_1000 + @color/md_white_1000 @color/colorAccentLight - @color/textColorPrimaryDark + @color/md_white_1000 @color/dialogLight @color/textColorPrimaryLight @color/textColorPrimaryLight @@ -43,31 +43,41 @@ locale - false true - @style/Theme.ActionBar.Light @style/ThemeOverlay.MaterialComponents @style/PreferenceThemeOverlay @style/Theme.AlertDialog.Light @style/Theme.AlertDialog.Dark - - @style/Theme.Widget.Button.Borderless @style/TextAppearance.Widget.Button @style/TextAppearance.Widget.Menu @drawable/library_item_selector_light - @color/filterColor + @color/filterColorDark - + + @@ -107,14 +117,12 @@ @color/colorDarkPrimary - false true @style/ThemeOverlay.MaterialComponents.Dark.ActionBar @style/ThemeOverlay.MaterialComponents @style/PreferenceThemeOverlay @style/Theme.AlertDialog.Dark @style/Theme.AlertDialog.Dark - @style/Theme.Widget.Snackbar @style/Theme.Widget.Button.Borderless @style/TextAppearance.Widget.Button @style/TextAppearance.Widget.Menu @@ -123,7 +131,7 @@ @drawable/library_item_selector_dark - @color/filterColor + @color/filterColorDark