diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/adapter/TypedListSpacingDecoration.kt b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/adapter/TypedListSpacingDecoration.kt index b1005b123..a34ed2d07 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/adapter/TypedListSpacingDecoration.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/adapter/TypedListSpacingDecoration.kt @@ -13,6 +13,7 @@ class TypedListSpacingDecoration( private val spacingList = context.resources.getDimensionPixelOffset(R.dimen.list_spacing) private val spacingGrid = context.resources.getDimensionPixelOffset(R.dimen.grid_spacing) + private val spacingGridTop = context.resources.getDimensionPixelOffset(R.dimen.grid_spacing_top) override fun getItemOffsets( outRect: Rect, @@ -28,7 +29,7 @@ class TypedListSpacingDecoration( ListItemType.FILTER_TAG -> outRect.set(0) ListItemType.HEADER -> outRect.set(spacingList, 0, spacingList, 0) - ListItemType.MANGA_LIST -> outRect.set(0) + ListItemType.MANGA_LIST -> outRect.set(spacingList) ListItemType.DOWNLOAD, ListItemType.MANGA_LIST_DETAILED -> outRect.set(spacingList) @@ -48,7 +49,7 @@ class TypedListSpacingDecoration( null -> outRect.set(0) ListItemType.TIP -> outRect.set(0) // TODO - ListItemType.HINT_EMPTY -> outRect.set(spacingList) + ListItemType.HINT_EMPTY, ListItemType.FEED -> outRect.set(spacingList, 0, spacingList, 0) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt index 85cf6523a..bd93c8a68 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt @@ -12,6 +12,7 @@ import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import androidx.fragment.app.commit import com.google.android.material.appbar.AppBarLayout +import com.google.android.material.appbar.AppBarLayout.OnOffsetChangedListener import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flowOn @@ -24,6 +25,7 @@ import org.koitharu.kotatsu.core.ui.BaseActivity import org.koitharu.kotatsu.core.ui.model.titleRes import org.koitharu.kotatsu.core.util.ext.getParcelableExtraCompat import org.koitharu.kotatsu.core.util.ext.getSerializableExtraCompat +import org.koitharu.kotatsu.core.util.ext.getThemeColor import org.koitharu.kotatsu.core.util.ext.observe import org.koitharu.kotatsu.core.util.ext.setTextAndVisible import org.koitharu.kotatsu.databinding.ActivityMangaListBinding @@ -38,6 +40,7 @@ import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.parsers.model.MangaTag import org.koitharu.kotatsu.remotelist.ui.RemoteListFragment +import kotlin.math.abs @AndroidEntryPoint class MangaListActivity : @@ -57,6 +60,13 @@ class MangaListActivity : setContentView(ActivityMangaListBinding.inflate(layoutInflater)) val tags = intent.getParcelableExtraCompat(EXTRA_TAGS)?.tags supportActionBar?.setDisplayHomeAsUpEnabled(true) + appBar.addOnOffsetChangedListener { appBarLayout, verticalOffset -> + if (abs(verticalOffset) - appBarLayout.totalScrollRange == 0) { + viewBinding.containerFilterHeader?.setBackgroundColor(com.google.android.material.R.attr.backgroundColor) + } else { + viewBinding.containerFilterHeader?.setBackgroundColor(R.attr.m3ColorBackground) + } + } val source = intent.getSerializableExtraCompat(EXTRA_SOURCE) ?: tags?.firstOrNull()?.source if (source == null) { finishAfterTransition() diff --git a/app/src/main/res/color-v23/bottom_menu_background.xml b/app/src/main/res/color-v23/bottom_menu_background.xml new file mode 100644 index 000000000..1a8aa582c --- /dev/null +++ b/app/src/main/res/color-v23/bottom_menu_background.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/color-v23/colored_button.xml b/app/src/main/res/color-v23/colored_button.xml index ad0dd1b69..8c3ee7b0d 100644 --- a/app/src/main/res/color-v23/colored_button.xml +++ b/app/src/main/res/color-v23/colored_button.xml @@ -1,4 +1,4 @@ - + diff --git a/app/src/main/res/color/bottom_menu_background.xml b/app/src/main/res/color/bottom_menu_background.xml new file mode 100644 index 000000000..a43c25c04 --- /dev/null +++ b/app/src/main/res/color/bottom_menu_background.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/color/colored_button.xml b/app/src/main/res/color/colored_button.xml index 15a69be0a..a9b4af88f 100644 --- a/app/src/main/res/color/colored_button.xml +++ b/app/src/main/res/color/colored_button.xml @@ -1,4 +1,4 @@ - + diff --git a/app/src/main/res/color/navigation_bar_scrim.xml b/app/src/main/res/color/navigation_bar_scrim.xml index 379700c44..1f765ccc0 100644 --- a/app/src/main/res/color/navigation_bar_scrim.xml +++ b/app/src/main/res/color/navigation_bar_scrim.xml @@ -1,4 +1,4 @@ - + diff --git a/app/src/main/res/drawable-v23/tabs_background.xml b/app/src/main/res/drawable-v23/tabs_background.xml index 7679bfbcf..e70169f07 100644 --- a/app/src/main/res/drawable-v23/tabs_background.xml +++ b/app/src/main/res/drawable-v23/tabs_background.xml @@ -12,7 +12,7 @@ android:bottom="1dp"> - + diff --git a/app/src/main/res/drawable-v23/toolbar_background.xml b/app/src/main/res/drawable-v23/toolbar_background.xml index 7679bfbcf..e70169f07 100644 --- a/app/src/main/res/drawable-v23/toolbar_background.xml +++ b/app/src/main/res/drawable-v23/toolbar_background.xml @@ -12,7 +12,7 @@ android:bottom="1dp"> - + diff --git a/app/src/main/res/drawable/ic_explore_normal.xml b/app/src/main/res/drawable/ic_explore_normal.xml index dae27417c..ed2e382ed 100644 --- a/app/src/main/res/drawable/ic_explore_normal.xml +++ b/app/src/main/res/drawable/ic_explore_normal.xml @@ -2,10 +2,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" - android:tint="#000000" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/tabs_background.xml b/app/src/main/res/drawable/tabs_background.xml index 79f3ec5f3..b16a0e6d7 100644 --- a/app/src/main/res/drawable/tabs_background.xml +++ b/app/src/main/res/drawable/tabs_background.xml @@ -12,7 +12,7 @@ android:bottom="1dp"> - + diff --git a/app/src/main/res/drawable/toolbar_background.xml b/app/src/main/res/drawable/toolbar_background.xml index 2a07082ae..6da93cfb9 100644 --- a/app/src/main/res/drawable/toolbar_background.xml +++ b/app/src/main/res/drawable/toolbar_background.xml @@ -12,7 +12,7 @@ android:bottom="1dp"> - + diff --git a/app/src/main/res/layout-w600dp-land/activity_details.xml b/app/src/main/res/layout-w600dp-land/activity_details.xml index 6dd525f7b..03faa2f1f 100644 --- a/app/src/main/res/layout-w600dp-land/activity_details.xml +++ b/app/src/main/res/layout-w600dp-land/activity_details.xml @@ -102,7 +102,6 @@ + android:fitsSystemWindows="true" + app:liftOnScroll="true"> diff --git a/app/src/main/res/layout/fragment_list.xml b/app/src/main/res/layout/fragment_list.xml index 06a5d7497..b46e38a3a 100644 --- a/app/src/main/res/layout/fragment_list.xml +++ b/app/src/main/res/layout/fragment_list.xml @@ -17,10 +17,11 @@ android:layout_height="match_parent" android:clipToPadding="false" android:orientation="vertical" - android:paddingHorizontal="@dimen/list_spacing" + android:paddingVertical="@dimen/list_spacing" app:bubbleSize="small" tools:layoutManager="org.koitharu.kotatsu.core.ui.list.FitHeightLinearLayoutManager" tools:listitem="@layout/item_manga_list" /> + diff --git a/app/src/main/res/layout/item_empty_card.xml b/app/src/main/res/layout/item_empty_card.xml index 872dcc7d2..5f02f59a9 100644 --- a/app/src/main/res/layout/item_empty_card.xml +++ b/app/src/main/res/layout/item_empty_card.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" - style="@style/Widget.Kotatsu.CardView.Light" android:layout_width="match_parent" android:layout_height="wrap_content" app:contentPadding="@dimen/margin_normal"> diff --git a/app/src/main/res/layout/item_manga_grid.xml b/app/src/main/res/layout/item_manga_grid.xml index 18330e25b..fd8a3ed1f 100644 --- a/app/src/main/res/layout/item_manga_grid.xml +++ b/app/src/main/res/layout/item_manga_grid.xml @@ -3,12 +3,10 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" - style="@style/Widget.Kotatsu.CardView.Outlined" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipChildren="false" - app:cardBackgroundColor="?attr/colorSurfaceContainerHighest" - app:cardCornerRadius="12dp" + app:cardCornerRadius="16dp" tools:layout_width="140dp"> @@ -13,8 +13,8 @@ android:layout_width="40dp" android:layout_height="40dp" android:layout_marginStart="8dp" - android:layout_marginTop="16dp" - android:layout_marginBottom="16dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" android:background="?colorSurfaceContainer" android:scaleType="centerCrop" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/item_tip.xml b/app/src/main/res/layout/item_tip.xml index 0beb8d9f9..9390a2fba 100644 --- a/app/src/main/res/layout/item_tip.xml +++ b/app/src/main/res/layout/item_tip.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" - style="?materialCardViewOutlinedStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_small"> diff --git a/app/src/main/res/layout/item_tip2.xml b/app/src/main/res/layout/item_tip2.xml index fa3512b5e..208761732 100644 --- a/app/src/main/res/layout/item_tip2.xml +++ b/app/src/main/res/layout/item_tip2.xml @@ -7,7 +7,6 @@ android:layout_height="wrap_content" android:layout_marginVertical="8dp" android:layout_marginHorizontal="8dp" - app:cardBackgroundColor="?attr/colorSurfaceContainerLow" app:shapeAppearance="?shapeAppearanceCornerExtraLarge" tools:icon="@drawable/ic_notification" tools:primaryButtonText="@string/settings" diff --git a/app/src/main/res/values-night-v31/themes.xml b/app/src/main/res/values-night-v31/themes.xml index da4b204b0..ab2f43458 100644 --- a/app/src/main/res/values-night-v31/themes.xml +++ b/app/src/main/res/values-night-v31/themes.xml @@ -37,7 +37,10 @@ @color/m3_sys_color_dark_on_error_container @color/m3_sys_color_dynamic_dark_outline @color/m3_sys_color_dynamic_dark_outline_variant - @color/m3_sys_color_dynamic_dark_surface_container_high + @android:color/system_neutral2_900 + @android:color/system_neutral2_900 + @android:color/system_neutral2_800 + @android:color/system_neutral2_800 @color/m3_dynamic_dark_default_color_primary_text @color/m3_dynamic_default_color_primary_text diff --git a/app/src/main/res/values-night/colors_kotatsu.xml b/app/src/main/res/values-night/colors_kotatsu.xml index 520e2e02d..630483e96 100644 --- a/app/src/main/res/values-night/colors_kotatsu.xml +++ b/app/src/main/res/values-night/colors_kotatsu.xml @@ -4,41 +4,45 @@ ~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web) --> - #D0BCFF - #4F378B - #371E73 - #EADDFF - #6750A4 - #CCC2DC - #4A4458 - #332D41 - #E8DEF8 - #EFB8C8 - #633B48 - #492532 - #FFD8E4 - #141218 - #141218 - #141218 - #0F0D13 - #1D1B20 - #211F26 - #2B2930 - #36343B - #49454F - #E6E1E5 - #CAC4D0 - #E6E1E5 - #313033 - #141218 - #E6E1E5 - #F2B8B5 - #8C1D18 - #601410 - #F9DEDC - #938F99 - #444746 + #ABC7FF + #00458F + #002F65 + #D7E3FF + #205DAF + #BEC6DC + #3E4759 + #283041 + #DAE2F9 + #DDBCE0 + #573E5C + #3F2844 + #FAD8FD + #121316 + #121316 + #38393C + #0D0E11 + #1A1B1F + #1F1F23 + #292A2D + #343538 + #44474E + #C7C6CA + #C4C6D0 + #E3E2E6 + #1A1B1F + #1A1B1F + #E3E2E6 + #FFB4AB + #93000A + #690005 + #FFDAD6 + #8E9099 + #44474E #000000 - #D0BCFF + #ABC7FF #000000 + #1A1B1F + #292A2D + #2F3033 + #2F3033 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 931057c26..20b0de500 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -6,6 +6,9 @@ diff --git a/app/src/main/res/values-v31/themes.xml b/app/src/main/res/values-v31/themes.xml index aae4b36f1..7f670e9dc 100644 --- a/app/src/main/res/values-v31/themes.xml +++ b/app/src/main/res/values-v31/themes.xml @@ -45,7 +45,11 @@ @color/m3_sys_color_light_on_error_container @color/m3_sys_color_dynamic_light_outline @color/m3_sys_color_dynamic_light_outline_variant - @color/m3_sys_color_dynamic_light_surface_container_high + @android:color/system_neutral2_50 + @android:color/system_neutral2_50 + @android:color/white + @android:color/system_neutral2_100 + @android:color/system_neutral2_100 @color/m3_dynamic_default_color_primary_text @color/m3_dynamic_dark_default_color_primary_text diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 2a97982c8..b3c109ae5 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f23512dcc..fa6990525 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,6 +7,7 @@ #410001 + #0C0C0C #000001 #000000 diff --git a/app/src/main/res/values/colors_kotatsu.xml b/app/src/main/res/values/colors_kotatsu.xml index dc3b9d664..7813ff933 100644 --- a/app/src/main/res/values/colors_kotatsu.xml +++ b/app/src/main/res/values/colors_kotatsu.xml @@ -4,41 +4,45 @@ ~ M3 colors generated by Material Theme Builder (https://goo.gle/material-theme-builder-web) --> - #6750A4 - #EADDFF + #0059C8 + #D9E2FF #FFFFFF - #21005E - #D0BCFF - #625B71 - #E8DEF8 + #001944 + #AFC6FF + #575E71 + #DBE2F9 #FFFFFF - #1E192B - #7D5260 - #FFD8E4 + #141B2C + #725573 + #FDD7FB #FFFFFF - #370B1E - #FEF7FF - #DED8E1 - #FEF7FF + #2A132C + #FBF8FD + #DBD9DD + #FBF8FD #FFFFFF - #F7F2FA - #F3EDF7 - #ECE6F0 - #E6E0E9 - #E7E0EC - #1C1B1F - #49454E - #313033 - #F4EFF4 - #FEF7FF - #1C1B1F - #B3261E - #F9DEDC + #F5F3F7 + #EFEDF1 + #E9E7EC + #E3E2E6 + #E1E2EC + #1B1B1F + #44464F + #303034 + #F2F0F4 + #FEFBFF + #1B1B1F + #BA1A1A + #FFDAD6 #FFFFFF - #410E0B - #74777F - #C4C7C5 + #410002 + #757780 + #C5C6D0 #000000 - #6750A4 + #0059C8 #000000 + #EDF0FF + #FFFFFF + #D9E2FF + #D9E2FF diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index b83f459f8..dcd623dfb 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -9,6 +9,7 @@ 172dp 8dp + 12dp 8dp 2dp 4dp diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 73fdec650..4f8d1b870 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -2,15 +2,19 @@ + + @@ -73,8 +77,9 @@ ?attr/colorSurfaceContainerLow - -