From eee12429644350001b914ff6161a8cb6954f149e Mon Sep 17 00:00:00 2001 From: Wai What <149729762+WaiWhat@users.noreply.github.com> Date: Sun, 12 Nov 2023 10:55:16 -0800 Subject: [PATCH] Added Saikou theme (#40) * Update colors.xml * Update themes.xml * Update themes.xml * Update ThemeManager.kt * Update ThemeManager.kt * Update ThemeManager.kt * Update ThemeManager.kt * Update DevelopersDialogFragment.kt * Update activity_main.xml * Update item_anime_page.xml * Update item_manga_page.xml * Update fragment_login.xml * Update activity_media.xml * Update activity_media.xml * Update item_anime_page.xml * Update item_manga_page.xml * Update themes.xml * Update themes.xml * Update exo_player_control_view.xml * Update activity_author.xml * Update activity_studio.xml * Update activity_manga_reader.xml * Update activity_novel_reader.xml * Update activity_media.xml Fix * Update tab_layout_icon.xml * Update activity_media.xml * Update activity_media.xml * Update tab_layout_icon.xml Changed selected layout icon from primary to secondary * Update activity_list.xml * Update ListActivity.kt Unbound listTabLayout, listAppBar and listTitle because it stopped color reallocation * Update CalendarActivity.kt Unbound listTabLayout, listAppBar and listTitle because it stopped color reallocation * Update button_switch_track.xml * Update CalendarActivity.kt Undo * Update ListActivity.kt Undo * Update CalendarActivity.kt * Update ListActivity.kt * Update ListActivity.kt * Update CalendarActivity.kt (Saikou theme complete!) I'll just need to check for bugs and request to merge * Update ThemeManager.kt Took Sakiou theme out of beta * Update tab_layout_icon.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update activity_media.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update activity_media.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update control_background_40dp.xml * Update build.gradle Changed version number --- .../ani/dantotsu/media/CalendarActivity.kt | 19 +++--- .../ani/dantotsu/media/user/ListActivity.kt | 19 +++--- .../settings/DevelopersDialogFragment.kt | 2 +- .../java/ani/dantotsu/themes/ThemeManager.kt | 6 +- .../main/res/color/button_switch_track.xml | 4 +- app/src/main/res/color/tab_layout_icon.xml | 4 +- .../res/drawable/control_background_40dp.xml | 4 +- .../main/res/layout-land/activity_media.xml | 10 +-- app/src/main/res/layout/activity_author.xml | 8 +-- app/src/main/res/layout/activity_list.xml | 8 +-- app/src/main/res/layout/activity_main.xml | 4 +- .../main/res/layout/activity_manga_reader.xml | 2 +- app/src/main/res/layout/activity_media.xml | 10 +-- .../main/res/layout/activity_novel_reader.xml | 5 +- app/src/main/res/layout/activity_studio.xml | 8 +-- .../res/layout/exo_player_control_view.xml | 4 +- app/src/main/res/layout/fragment_login.xml | 4 +- app/src/main/res/layout/item_anime_page.xml | 6 +- app/src/main/res/layout/item_manga_page.xml | 6 +- app/src/main/res/values-night/themes.xml | 38 ++++++++++- app/src/main/res/values/colors.xml | 64 ++++++++++++++++++- app/src/main/res/values/themes.xml | 33 +++++++++- 22 files changed, 201 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt b/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt index 53398a23..14e8c15b 100644 --- a/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/CalendarActivity.kt @@ -38,21 +38,24 @@ class CalendarActivity : AppCompatActivity() { val typedValue = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorOnPrimary, typedValue, true) + theme.resolveAttribute(com.google.android.material.R.attr.colorSurface, typedValue, true) val primaryColor = typedValue.data val typedValue2 = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue2, true) - val primaryTextColor = typedValue2.data + theme.resolveAttribute(com.google.android.material.R.attr.colorOnBackground, typedValue2, true) + val titleTextColor = typedValue2.data val typedValue3 = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorSecondary, typedValue3, true) - val secondaryColor = typedValue3.data + theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue3, true) + val primaryTextColor = typedValue3.data + val typedValue4 = TypedValue() + theme.resolveAttribute(com.google.android.material.R.attr.colorOutline, typedValue4, true) + val secondaryTextColor = typedValue4.data window.statusBarColor = primaryColor window.navigationBarColor = primaryColor binding.listTabLayout.setBackgroundColor(primaryColor) binding.listAppBar.setBackgroundColor(primaryColor) - binding.listTitle.setTextColor(primaryTextColor) - binding.listTabLayout.setTabTextColors(primaryTextColor, primaryTextColor) + binding.listTitle.setTextColor(titleTextColor) + binding.listTabLayout.setTabTextColors(secondaryTextColor, primaryTextColor) binding.listTabLayout.setSelectedTabIndicatorColor(primaryTextColor) val uiSettings = loadData("ui_settings") ?: UserInterfaceSettings() if (!uiSettings.immersiveMode) { @@ -103,4 +106,4 @@ class CalendarActivity : AppCompatActivity() { } } -} \ No newline at end of file +} diff --git a/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt b/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt index f5407a98..fc0c56bd 100644 --- a/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/user/ListActivity.kt @@ -36,21 +36,24 @@ class ListActivity : AppCompatActivity() { binding = ActivityListBinding.inflate(layoutInflater) val typedValue = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorOnPrimary, typedValue, true) + theme.resolveAttribute(com.google.android.material.R.attr.colorSurface, typedValue, true) val primaryColor = typedValue.data val typedValue2 = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue2, true) - val primaryTextColor = typedValue2.data + theme.resolveAttribute(com.google.android.material.R.attr.colorOnBackground, typedValue2, true) + val titleTextColor = typedValue2.data val typedValue3 = TypedValue() - theme.resolveAttribute(com.google.android.material.R.attr.colorSecondary, typedValue3, true) - val secondaryColor = typedValue3.data + theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue3, true) + val primaryTextColor = typedValue3.data + val typedValue4 = TypedValue() + theme.resolveAttribute(com.google.android.material.R.attr.colorOutline, typedValue4, true) + val secondaryTextColor = typedValue4.data window.statusBarColor = primaryColor window.navigationBarColor = primaryColor binding.listTabLayout.setBackgroundColor(primaryColor) binding.listAppBar.setBackgroundColor(primaryColor) - binding.listTitle.setTextColor(primaryTextColor) - binding.listTabLayout.setTabTextColors(primaryTextColor, primaryTextColor) + binding.listTitle.setTextColor(titleTextColor) + binding.listTabLayout.setTabTextColors(secondaryTextColor, primaryTextColor) binding.listTabLayout.setSelectedTabIndicatorColor(primaryTextColor) val uiSettings = loadData("ui_settings") ?: UserInterfaceSettings() if (!uiSettings.immersiveMode) { @@ -126,4 +129,4 @@ class ListActivity : AppCompatActivity() { popup.show() } } -} \ No newline at end of file +} diff --git a/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt index c1e168ab..ebdd27a2 100644 --- a/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt +++ b/app/src/main/java/ani/dantotsu/settings/DevelopersDialogFragment.kt @@ -14,7 +14,7 @@ class DevelopersDialogFragment : BottomSheetDialogFragment() { private val developers = arrayOf( Developer("rebelonion","https://avatars.githubusercontent.com/u/87634197?v=4","Owner and Maintainer","https://github.com/rebelonion"), - Developer("Wai What", "https://cdn.discordapp.com/avatars/928202695611908126/aeac4c867acbb8c3783356497055a426.webp?size=80", "Icon Designer", ""), + Developer("Wai What", "https://avatars.githubusercontent.com/u/149729762?v=4", "Icon Designer", "https://github.com/WaiWhat"), ) override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { diff --git a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt index 080f4394..8b4a5e61 100644 --- a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt +++ b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt @@ -20,6 +20,7 @@ class ThemeManager(private val context: Context) { "RED" -> if (useOLED) R.style.Theme_Dantotsu_RedOLED else R.style.Theme_Dantotsu_Red "LAVENDER" -> if (useOLED) R.style.Theme_Dantotsu_LavenderOLED else R.style.Theme_Dantotsu_Lavender "MONOCHROME (BETA)" -> if (useOLED) R.style.Theme_Dantotsu_MonochromeOLED else R.style.Theme_Dantotsu_Monochrome + "SAIKOU" -> if (useOLED) R.style.Theme_Dantotsu_SaikouOLED else R.style.Theme_Dantotsu_Saikou else -> if (useOLED) R.style.Theme_Dantotsu_PurpleOLED else R.style.Theme_Dantotsu_Purple } @@ -44,7 +45,8 @@ class ThemeManager(private val context: Context) { PINK("PINK"), RED("RED"), LAVENDER("LAVENDER"), - MONOCHROME("MONOCHROME (BETA)"); + MONOCHROME("MONOCHROME (BETA)"), + SAIKOU("SAIKOU"); companion object { fun fromString(value: String): Theme { @@ -53,4 +55,4 @@ class ThemeManager(private val context: Context) { } } } -} \ No newline at end of file +} diff --git a/app/src/main/res/color/button_switch_track.xml b/app/src/main/res/color/button_switch_track.xml index 93509348..a22a2cc2 100644 --- a/app/src/main/res/color/button_switch_track.xml +++ b/app/src/main/res/color/button_switch_track.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/tab_layout_icon.xml b/app/src/main/res/color/tab_layout_icon.xml index 0ad9521c..f1102309 100644 --- a/app/src/main/res/color/tab_layout_icon.xml +++ b/app/src/main/res/color/tab_layout_icon.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/drawable/control_background_40dp.xml b/app/src/main/res/drawable/control_background_40dp.xml index 5b46afde..4df26315 100644 --- a/app/src/main/res/drawable/control_background_40dp.xml +++ b/app/src/main/res/drawable/control_background_40dp.xml @@ -1,4 +1,4 @@ \ No newline at end of file + android:color="?attr/colorPrimary" + android:radius="20dp" /> diff --git a/app/src/main/res/layout-land/activity_media.xml b/app/src/main/res/layout-land/activity_media.xml index 549182d0..52b8cd61 100644 --- a/app/src/main/res/layout-land/activity_media.xml +++ b/app/src/main/res/layout-land/activity_media.xml @@ -138,8 +138,8 @@ android:singleLine="true" android:text="@string/add" android:textAllCaps="true" - android:textColor="?attr/colorPrimary" - app:strokeColor="?attr/colorPrimary" + android:textColor="?attr/colorSecondary" + app:strokeColor="@color/bg_opp" android:textSize="14sp" android:textStyle="bold" app:cornerRadius="16dp" @@ -220,7 +220,7 @@ android:padding="8dp" android:tintMode="src_atop" app:srcCompat="@drawable/ic_round_favorite_border_24" - app:tint="?attr/colorSecondary" + app:tint="@color/bg_opp" tools:ignore="ContentDescription,ImageContrastCheck" /> @@ -303,4 +303,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_author.xml b/app/src/main/res/layout/activity_author.xml index 914e1dad..24e7acbb 100644 --- a/app/src/main/res/layout/activity_author.xml +++ b/app/src/main/res/layout/activity_author.xml @@ -8,7 +8,7 @@ @@ -57,7 +57,7 @@ android:layout_gravity="end" android:layout_margin="16dp" android:translationZ="2dp" - app:cardBackgroundColor="?attr/colorSecondary" + app:cardBackgroundColor="@color/nav_bg" app:cardCornerRadius="16dp"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml index 0e034839..d3e59eef 100644 --- a/app/src/main/res/layout/activity_list.xml +++ b/app/src/main/res/layout/activity_list.xml @@ -18,7 +18,7 @@ android:id="@+id/listAppBar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/colorPrimaryContainer" + android:background="?attr/colorSurface" android:theme="@style/Theme.Dantotsu.AppBarOverlay"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b416c33f..bebdb5b3 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -45,7 +45,7 @@ app:abb_indicatorLocation="bottom" app:abb_indicatorMargin="28dp" app:abb_selectedTabType="text" - app:abb_tabColor="?attr/colorSecondary" + app:abb_tabColor="?attr/colorOutline" app:abb_tabColorDisabled="?attr/colorPrimaryContainer" app:abb_tabColorSelected="?attr/colorPrimary" app:abb_tabs="@menu/bottom_navbar_menu" @@ -58,4 +58,4 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_manga_reader.xml b/app/src/main/res/layout/activity_manga_reader.xml index f140ed2f..6347038a 100644 --- a/app/src/main/res/layout/activity_manga_reader.xml +++ b/app/src/main/res/layout/activity_manga_reader.xml @@ -362,7 +362,7 @@ app:thumbRadius="8dp" app:tickColor="#0000" app:trackColorInactive="@color/grey_60" - app:trackColorActive="?attr/colorOnBackground" + app:trackColorActive="?attr/colorPrimary" app:trackHeight="2dp" /> diff --git a/app/src/main/res/layout/activity_media.xml b/app/src/main/res/layout/activity_media.xml index a6b47cdf..a3411728 100644 --- a/app/src/main/res/layout/activity_media.xml +++ b/app/src/main/res/layout/activity_media.xml @@ -122,8 +122,8 @@ android:singleLine="true" android:text="@string/add" android:textAllCaps="true" - android:textColor="?attr/colorPrimary" - app:strokeColor="?attr/colorPrimary" + android:textColor="?attr/colorSecondary" + app:strokeColor="@color/bg_opp" android:textSize="14sp" android:textStyle="bold" app:cornerRadius="16dp" @@ -202,7 +202,7 @@ android:padding="8dp" android:tintMode="src_atop" app:srcCompat="@drawable/ic_round_favorite_border_24" - app:tint="?attr/colorSecondary" + app:tint="@color/bg_opp" tools:ignore="ContentDescription,ImageContrastCheck" /> @@ -301,4 +301,4 @@ android:visibility="gone"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_novel_reader.xml b/app/src/main/res/layout/activity_novel_reader.xml index 9bcc8450..9bf9e9ae 100644 --- a/app/src/main/res/layout/activity_novel_reader.xml +++ b/app/src/main/res/layout/activity_novel_reader.xml @@ -176,7 +176,8 @@ app:labelStyle="@style/fontTooltip" app:thumbRadius="8dp" app:tickColor="#0000" - app:trackColorInactive="@color/bg_white" + app:trackColorInactive="@color/grey_60" + app:trackColorActive="?attr/colorPrimary" app:trackHeight="2dp" /> @@ -303,4 +304,4 @@ android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_studio.xml b/app/src/main/res/layout/activity_studio.xml index fc62f396..29b3e131 100644 --- a/app/src/main/res/layout/activity_studio.xml +++ b/app/src/main/res/layout/activity_studio.xml @@ -8,7 +8,7 @@ @@ -57,7 +57,7 @@ android:layout_gravity="end" android:layout_margin="16dp" android:translationZ="2dp" - app:cardBackgroundColor="?attr/colorSecondary" + app:cardBackgroundColor="@color/nav_bg" app:cardCornerRadius="16dp"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/exo_player_control_view.xml b/app/src/main/res/layout/exo_player_control_view.xml index 5d226ab6..eb4d99ea 100644 --- a/app/src/main/res/layout/exo_player_control_view.xml +++ b/app/src/main/res/layout/exo_player_control_view.xml @@ -530,7 +530,7 @@ app:ad_marker_color="#A9FFFFFF" app:bar_height="2dp" app:played_color="?attr/colorPrimary" - app:scrubber_color="?attr/colorPrimaryContainer" + app:scrubber_color="?attr/colorPrimary" tools:ignore="SpeakableTextPresentCheck" /> @@ -557,4 +557,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index 21b3ed30..5d906baf 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -64,7 +64,7 @@ android:layout_weight="1" android:padding="6dp" android:src="@drawable/ic_discord" - app:tint="?attr/colorSecondary" + app:tint="?attr/colorOutline" tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/item_anime_page.xml b/app/src/main/res/layout/item_anime_page.xml index ad473996..032c4f1c 100644 --- a/app/src/main/res/layout/item_anime_page.xml +++ b/app/src/main/res/layout/item_anime_page.xml @@ -34,7 +34,7 @@ android:layout_marginEnd="8dp" android:layout_weight="1" android:hint="@string/anime" - android:textColorHint="?attr/colorPrimary" + android:textColorHint="@color/bg_opp" android:transitionName="@string/search" app:boxBackgroundColor="?attr/colorPrimaryContainer" app:boxCornerRadiusBottomEnd="28dp" @@ -42,7 +42,7 @@ app:boxCornerRadiusTopEnd="28dp" app:boxCornerRadiusTopStart="28dp" app:endIconDrawable="@drawable/ic_round_search_24" - app:endIconTint="?attr/colorPrimary" + app:endIconTint="@color/bg_opp" app:boxStrokeColor="@color/text_input_layout_stroke_color" app:hintAnimationEnabled="true"> @@ -73,7 +73,7 @@ android:layout_width="52dp" android:layout_height="52dp" android:scaleType="center" - android:tint="?attr/colorPrimary" + android:tint="@color/bg_opp" app:srcCompat="@drawable/ic_round_settings_24" tools:ignore="ContentDescription,ImageContrastCheck" /> diff --git a/app/src/main/res/layout/item_manga_page.xml b/app/src/main/res/layout/item_manga_page.xml index d62dd16c..5f9b8405 100644 --- a/app/src/main/res/layout/item_manga_page.xml +++ b/app/src/main/res/layout/item_manga_page.xml @@ -35,7 +35,7 @@ android:layout_marginEnd="8dp" android:layout_weight="1" android:hint="@string/manga" - android:textColorHint="?attr/colorPrimary" + android:textColorHint="@color/bg_opp" android:transitionName="@string/search" app:boxBackgroundColor="?attr/colorPrimaryContainer" app:boxCornerRadiusBottomEnd="28dp" @@ -43,7 +43,7 @@ app:boxCornerRadiusTopEnd="28dp" app:boxCornerRadiusTopStart="28dp" app:endIconDrawable="@drawable/ic_round_search_24" - app:endIconTint="?attr/colorPrimary" + app:endIconTint="@color/bg_opp" app:boxStrokeColor="@color/text_input_layout_stroke_color" app:hintAnimationEnabled="true"> @@ -75,7 +75,7 @@ android:layout_width="52dp" android:layout_height="52dp" android:scaleType="center" - android:tint="?attr/colorPrimary" + android:tint="@color/bg_opp" app:srcCompat="@drawable/ic_round_settings_24" tools:ignore="ContentDescription,ImageContrastCheck" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 18ecc728..ac50a372 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -145,7 +145,7 @@ @color/bg_white @color/bg_black @color/bg_white - @color/bg_black + @color/bg_white @color/bg_white @color/bg_black @color/bg_black @@ -209,6 +209,35 @@ @color/md_1_theme_dark_inversePrimary + + - \ No newline at end of file + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4bc1f79f..4d214a62 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -273,6 +273,68 @@ #504349 #000000 + #FF007F + #FF007F + #EEEEEE + #000000 + #FF007F + #91A6FF + #EEEEEE + #91A6FF + #EEEEEE + #91A6FF + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #EEEEEE + #000000 + #EEEEEE + #1C1B20 + #E7DFEC + #000000 + #78757C + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #FF5DAE + #EEEEEE + #EEEEEE + #FF5DAE + #91A6FF + #EEEEEE + #91A6FF + #EEEEEE + #91A6FF + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #000000 + #EEEEEE + #1C1B20 + #EEEEEE + #48454E + #EEEEEE + #928F98 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #00FF00 + #c9000b #C0000A #FFFFFF @@ -400,4 +462,4 @@ #68AF86 #0096AE #000000 - \ No newline at end of file + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 0058aae7..e0becf4b 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -215,7 +215,7 @@ @color/bg_black @color/bg_white @color/bg_black - @color/bg_white + @color/bg_black @color/bg_black @color/bg_white @color/bg_white @@ -279,4 +279,33 @@ @color/md_1_theme_light_inversePrimary - \ No newline at end of file + + +