From 47e1f6bd49331574fb4a3c7b9a91674d569b2145 Mon Sep 17 00:00:00 2001 From: Jannik Date: Wed, 29 Mar 2023 16:16:31 +0200 Subject: [PATCH 1/6] initial migration to material 3 --- app/src/main/AndroidManifest.xml | 2 +- .../teapod/ui/activity/main/MainActivity.kt | 27 ++++-- .../java/org/mosad/teapod/util/DataTypes.kt | 1 + .../drawable/ic_baseline_access_time_24.xml | 17 ++-- .../main/res/drawable/ic_baseline_add_24.xml | 6 +- .../main/res/drawable/ic_baseline_code_24.xml | 13 ++- .../drawable/ic_baseline_description_24.xml | 13 ++- .../res/drawable/ic_baseline_language_24.xml | 13 ++- .../res/drawable/ic_baseline_people_24.xml | 9 +- .../res/drawable/ic_baseline_style_24.xml | 13 ++- .../main/res/drawable/ic_outline_info_24.xml | 4 +- app/src/main/res/layout/activity_main.xml | 2 - app/src/main/res/layout/fragment_about.xml | 32 +++---- app/src/main/res/layout/fragment_account.xml | 89 +++++++------------ app/src/main/res/layout/fragment_home.xml | 10 +-- app/src/main/res/layout/fragment_library.xml | 2 - app/src/main/res/layout/fragment_media.xml | 19 ++-- app/src/main/res/layout/fragment_my_lists.xml | 6 +- app/src/main/res/layout/item_episode.xml | 8 +- .../res/layout/item_highlight_shimmer.xml | 9 +- app/src/main/res/layout/item_media.xml | 1 - .../main/res/layout/item_media_shimmer.xml | 2 - app/src/main/res/values-night/themes.xml | 42 +++++++++ app/src/main/res/values/colors.xml | 70 +++++++++++++++ app/src/main/res/values/styles.xml | 57 ++++++++++-- app/src/main/res/values/themes.xml | 40 +++++++++ 26 files changed, 338 insertions(+), 169 deletions(-) create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/themes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c02a0e8..4c1e63e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/AppTheme.Dark"> + android:theme="@style/AppTheme"> AppCompatDelegate.MODE_NIGHT_NO + DataTypes.Theme.DARK -> AppCompatDelegate.MODE_NIGHT_YES + else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM + } + AppCompatDelegate.setDefaultNightMode(mode) binding = ActivityMainBinding.inflate(layoutInflater) binding.navView.setOnItemSelectedListener(this) @@ -122,12 +135,12 @@ class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen return ret } - private fun getThemeResource(): Int { - return when (Preferences.theme) { - DataTypes.Theme.LIGHT -> R.style.AppTheme_Light - else -> R.style.AppTheme_Dark - } - } +// private fun getThemeResource(): Int { +// return when (Preferences.theme) { +// DataTypes.Theme.LIGHT -> R.style.AppTheme_Light +// else -> R.style.AppTheme_Dark +// } +// } /** * initial loading and login are run in parallel, as initial loading doesn't require diff --git a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt index 280cf1d..0f6d76f 100644 --- a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt +++ b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt @@ -10,6 +10,7 @@ class DataTypes { } enum class Theme(val str: String) { + SYSTEM("System"), LIGHT("Light"), DARK("Dark") } diff --git a/app/src/main/res/drawable/ic_baseline_access_time_24.xml b/app/src/main/res/drawable/ic_baseline_access_time_24.xml index 04584e8..eaf2952 100644 --- a/app/src/main/res/drawable/ic_baseline_access_time_24.xml +++ b/app/src/main/res/drawable/ic_baseline_access_time_24.xml @@ -1,6 +1,13 @@ - - - + + + diff --git a/app/src/main/res/drawable/ic_baseline_add_24.xml b/app/src/main/res/drawable/ic_baseline_add_24.xml index eb23254..134d459 100644 --- a/app/src/main/res/drawable/ic_baseline_add_24.xml +++ b/app/src/main/res/drawable/ic_baseline_add_24.xml @@ -4,7 +4,7 @@ android:viewportWidth="24" android:viewportHeight="24" android:tint="?attr/colorControlNormal"> - + diff --git a/app/src/main/res/drawable/ic_baseline_code_24.xml b/app/src/main/res/drawable/ic_baseline_code_24.xml index 2f812a4..79e180c 100644 --- a/app/src/main/res/drawable/ic_baseline_code_24.xml +++ b/app/src/main/res/drawable/ic_baseline_code_24.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/ic_baseline_description_24.xml b/app/src/main/res/drawable/ic_baseline_description_24.xml index e7ef3d4..94509ae 100644 --- a/app/src/main/res/drawable/ic_baseline_description_24.xml +++ b/app/src/main/res/drawable/ic_baseline_description_24.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/ic_baseline_language_24.xml b/app/src/main/res/drawable/ic_baseline_language_24.xml index 0335ca0..51fa313 100644 --- a/app/src/main/res/drawable/ic_baseline_language_24.xml +++ b/app/src/main/res/drawable/ic_baseline_language_24.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/ic_baseline_people_24.xml b/app/src/main/res/drawable/ic_baseline_people_24.xml index 6fc325a..9c42d90 100644 --- a/app/src/main/res/drawable/ic_baseline_people_24.xml +++ b/app/src/main/res/drawable/ic_baseline_people_24.xml @@ -1,5 +1,8 @@ - + diff --git a/app/src/main/res/drawable/ic_baseline_style_24.xml b/app/src/main/res/drawable/ic_baseline_style_24.xml index 18adef3..199d1a1 100644 --- a/app/src/main/res/drawable/ic_baseline_style_24.xml +++ b/app/src/main/res/drawable/ic_baseline_style_24.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/ic_outline_info_24.xml b/app/src/main/res/drawable/ic_outline_info_24.xml index b08088e..57d32e9 100644 --- a/app/src/main/res/drawable/ic_outline_info_24.xml +++ b/app/src/main/res/drawable/ic_outline_info_24.xml @@ -1,9 +1,9 @@ + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4f53f40..b753dfd 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -9,8 +9,6 @@ android:id="@+id/nav_view" android:layout_width="0dp" android:layout_height="wrap_content" - android:background="?themeSecondary" - app:itemIconTint="@color/bottom_nav_item_tint" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml index 970ee0f..a08fb24 100644 --- a/app/src/main/res/layout/fragment_about.xml +++ b/app/src/main/res/layout/fragment_about.xml @@ -1,11 +1,8 @@ - + android:src="@drawable/ic_outline_info_24" /> + android:text="@string/version_desc" /> @@ -112,8 +107,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - android:src="@drawable/ic_baseline_people_24" - app:tint="?iconColor" /> + android:src="@drawable/ic_baseline_people_24" /> + android:text="@string/author_desc" /> @@ -157,8 +150,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - android:src="@drawable/ic_baseline_code_24" - app:tint="?iconColor" /> + android:src="@drawable/ic_baseline_code_24" /> + android:text="@string/teapod_repo" /> @@ -202,8 +193,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - android:src="@drawable/ic_baseline_description_24" - app:tint="?iconColor" /> + android:src="@drawable/ic_baseline_description_24" /> + android:text="@string/license_desc" /> @@ -267,8 +256,7 @@ android:layout_marginEnd="7dp" android:paddingBottom="5dp" android:text="@string/tmdb_notice" - android:textAlignment="center" - android:textColor="?textSecondary" /> + android:textAlignment="center" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_account.xml b/app/src/main/res/layout/fragment_account.xml index 303bc92..7174db9 100644 --- a/app/src/main/res/layout/fragment_account.xml +++ b/app/src/main/res/layout/fragment_account.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="?themePrimary" tools:context=".ui.activity.main.fragments.AccountFragment"> @@ -34,7 +32,7 @@ android:paddingStart="7dp" android:paddingEnd="7dp" android:text="@string/account" - android:textSize="16sp" + android:textAppearance="@style/TextAppearance.Material3.TitleMedium" android:textStyle="bold" /> + android:src="@drawable/ic_baseline_account_box_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/account_login_desc" /> @@ -99,8 +95,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - android:src="@drawable/ic_baseline_access_time_24" - app:tint="?iconColor" /> + android:src="@drawable/ic_baseline_access_time_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/account_tier" /> @@ -132,7 +126,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:background="?themeSecondary" android:elevation="5dp" android:orientation="vertical"> @@ -143,7 +136,7 @@ android:paddingStart="7dp" android:paddingEnd="7dp" android:text="@string/settings" - android:textSize="16sp" + android:textAppearance="@style/TextAppearance.Material3.TitleMedium" android:textStyle="bold" /> + android:src="@drawable/ic_baseline_language_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/settings_content_language_desc" /> @@ -203,8 +194,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - android:src="@drawable/ic_baseline_subtitles_24" - app:tint="?iconColor" /> + android:src="@drawable/ic_baseline_subtitles_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/settings_prefer_subbed_desc" /> + android:src="@drawable/ic_baseline_autorenew_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/settings_autoplay_desc" /> + android:src="@drawable/ic_baseline_style_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/theme_light" /> @@ -365,7 +350,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:background="?themeSecondary" android:clipToPadding="false" android:elevation="5dp" android:orientation="vertical"> @@ -377,7 +361,7 @@ android:paddingStart="7dp" android:paddingEnd="7dp" android:text="@string/dev_settings" - android:textSize="16sp" + android:textAppearance="@style/TextAppearance.Material3.TitleMedium" android:textStyle="bold" /> + android:src="@drawable/ic_baseline_access_time_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + android:text="@string/update_playhead_desc" /> + app:srcCompat="@drawable/ic_outline_upload_24" /> + android:text="@string/export_data_desc" /> @@ -508,8 +488,7 @@ android:minHeight="48dp" android:padding="9dp" android:scaleType="fitXY" - app:srcCompat="@drawable/ic_outline_download_24" - app:tint="?iconColor" /> + app:srcCompat="@drawable/ic_outline_download_24" /> + android:text="@string/import_data_desc" /> @@ -542,7 +520,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:background="?themeSecondary" android:clipToPadding="false" android:elevation="5dp" android:orientation="vertical"> @@ -554,7 +531,7 @@ android:paddingStart="7dp" android:paddingEnd="7dp" android:text="@string/info" - android:textSize="16sp" + android:textAppearance="@style/TextAppearance.Material3.TitleMedium" android:textStyle="bold" /> + app:srcCompat="@drawable/ic_outline_info_24" /> + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" /> + /> + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 1993c9e..ff9a700 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -5,7 +5,6 @@ android:id="@+id/ff_test" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="?themePrimary" tools:context=".ui.activity.main.fragments.HomeFragment"> + app:iconGravity="textStart" /> + android:layout_height="wrap_content"> + app:iconGravity="textStart" /> + android:src="@drawable/ic_baseline_add_24" /> @@ -186,9 +179,7 @@ android:layout_marginEnd="7dp" android:background="@android:color/transparent" app:tabGravity="start" - app:tabMode="scrollable" - app:tabSelectedTextColor="?textPrimary" - app:tabTextColor="?textSecondary" /> + app:tabMode="scrollable" /> @@ -207,7 +198,7 @@ android:id="@+id/frame_loading" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="?themePrimary" + android:background="?android:colorBackground" android:visibility="gone"> + app:tabMode="fixed"> + + app:srcCompat="@drawable/ic_baseline_check_circle_24" /> + android:maxLines="3" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/item_highlight_shimmer.xml b/app/src/main/res/layout/item_highlight_shimmer.xml index a30e89e..bd5db08 100644 --- a/app/src/main/res/layout/item_highlight_shimmer.xml +++ b/app/src/main/res/layout/item_highlight_shimmer.xml @@ -3,8 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?themePrimary"> + android:layout_height="wrap_content"> + android:textSize="16sp" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..0de24d5 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,42 @@ + + + + + + + + \ 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 6844a80..6ad6575 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,6 +2,10 @@ #66aa00 + #FFFFFF + #607d8b + #899579 + #99dc45 #317a00 #607d8b @@ -15,6 +19,8 @@ #55000000 #99000000 #000000 + #ffffff + #121212 @@ -24,6 +30,7 @@ #55ffffff #99ffffff #ffffff + #000000 #11ffffff @@ -31,4 +38,67 @@ #ffffff #ffffff + + + #66aa00 + #3E6A00 + #FFFFFF + #99d853 + #0F2000 + #416916 + #FFFFFF + #C1F18E + #0E2000 + #006783 + #FFFFFF + #BDE9FF + #001F2A + #BA1A1A + #FFDAD6 + #FFFFFF + #410002 + #FDFCF5 + #1B1C18 + #FDFCF5 + #1B1C18 + #E1E4D5 + #44483D + #75796C + #F2F1E9 + #30312C + #92DA3E + #000000 + #3E6A00 + #C5C8BA + #000000 + #92DA3E + #1E3700 + #2D5000 + #ACF758 + #A6D475 + #1D3700 + #2C5000 + #C1F18E + #65D3FF + #003546 + #004D64 + #BDE9FF + #FFB4AB + #93000A + #690005 + #FFDAD6 + #1B1C18 + #E3E3DB + #1B1C18 + #E3E3DB + #44483D + #C5C8BA + #8E9285 + #1B1C18 + #E3E3DB + #3E6A00 + #000000 + #92DA3E + #44483D + #000000 \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5514894..8b016f8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,14 +1,51 @@ - - + + + <!– change on click indicator color for manually set components –> @color/controlHighlightDark + --> + + @@ -79,7 +120,7 @@ 200 - @style/AppTheme.Dark # Required. + @style/AppTheme # Required. @@ -90,7 +131,7 @@ diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..2486b8d --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,40 @@ + + + + + + \ No newline at end of file From 14ad34138c25858e9c225c63a47a119490ae143b Mon Sep 17 00:00:00 2001 From: Jannik Date: Sat, 15 Apr 2023 22:02:49 +0200 Subject: [PATCH 2/6] fix onboarding fragments and bottom sheet login --- .../java/org/mosad/teapod/ui/activity/main/MainActivity.kt | 4 ---- app/src/main/res/layout/fragment_on_login.xml | 6 ++---- app/src/main/res/layout/fragment_on_welcome.xml | 7 ++----- app/src/main/res/layout/modal_bottom_sheet_login.xml | 7 ++----- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt index f62bea5..1463a57 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt @@ -72,10 +72,6 @@ class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen load() // start the initial loading // theming - /** - * TODO button should be white (on dark) or black (on light) - */ - // theme.applyStyle(R.style.AppTheme_DayNight, true) // TODO I think this must be removed for system settings to work val mode = when (Preferences.theme) { DataTypes.Theme.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO diff --git a/app/src/main/res/layout/fragment_on_login.xml b/app/src/main/res/layout/fragment_on_login.xml index 20b2b0e..f5d11ee 100644 --- a/app/src/main/res/layout/fragment_on_login.xml +++ b/app/src/main/res/layout/fragment_on_login.xml @@ -2,8 +2,7 @@ + android:layout_height="match_parent"> + app:srcCompat="@drawable/ic_launcher_foreground" /> + android:layout_height="match_parent"> + app:srcCompat="@drawable/ic_launcher_foreground" /> + android:text="@string/cancel" />