From 032ed27c38e1ef0296021e0f1b4bb4f6103f540a Mon Sep 17 00:00:00 2001 From: Zakhar Timoshenko Date: Sun, 7 Aug 2022 14:41:59 +0300 Subject: [PATCH] Fix landscape UI, change paddings and selectors --- .../kotatsu/base/ui/widgets/ListItemTextView.kt | 12 +++++++----- .../koitharu/kotatsu/explore/ui/ExploreFragment.kt | 6 ------ .../koitharu/kotatsu/library/ui/LibraryFragment.kt | 4 ---- .../org/koitharu/kotatsu/main/ui/MainActivity.kt | 11 +---------- .../koitharu/kotatsu/search/ui/MangaListActivity.kt | 10 ++++------ .../koitharu/kotatsu/settings/tools/ToolsFragment.kt | 2 -- .../org/koitharu/kotatsu/tracker/ui/FeedFragment.kt | 6 ------ .../main/res/layout-w600dp/activity_categories.xml | 1 + app/src/main/res/layout/activity_categories.xml | 1 + app/src/main/res/layout/item_explore_source.xml | 2 +- .../main/res/layout/sheet_favorite_categories.xml | 4 ++-- 11 files changed, 17 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ListItemTextView.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ListItemTextView.kt index bdaf8f476..e51509920 100644 --- a/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ListItemTextView.kt +++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ListItemTextView.kt @@ -9,16 +9,17 @@ import android.graphics.drawable.Drawable import android.graphics.drawable.InsetDrawable import android.graphics.drawable.RippleDrawable import android.graphics.drawable.ShapeDrawable -import android.graphics.drawable.shapes.RectShape +import android.graphics.drawable.shapes.RoundRectShape import android.util.AttributeSet import androidx.annotation.AttrRes import androidx.appcompat.widget.AppCompatCheckedTextView +import androidx.core.content.ContextCompat import androidx.core.content.withStyledAttributes import com.google.android.material.ripple.RippleUtils import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.shape.ShapeAppearanceModel import org.koitharu.kotatsu.R -import org.koitharu.kotatsu.utils.ext.getThemeColorStateList +import org.koitharu.kotatsu.utils.ext.resolveDp @SuppressLint("RestrictedApi") class ListItemTextView @JvmOverloads constructor( @@ -38,10 +39,11 @@ class ListItemTextView @JvmOverloads constructor( context.withStyledAttributes(attrs, R.styleable.ListItemTextView, defStyleAttr) { val itemRippleColor = getRippleColor(context) val shape = createShapeDrawable(this) + val roundCorners = FloatArray(8) { resources.resolveDp(32f) } background = RippleDrawable( RippleUtils.sanitizeRippleDrawableColor(itemRippleColor), shape, - ShapeDrawable(RectShape()), + ShapeDrawable(RoundRectShape(roundCorners, null, null)), ) checkedDrawableStart = getDrawable(R.styleable.ListItemTextView_checkedDrawableStart) checkedDrawableEnd = getDrawable(R.styleable.ListItemTextView_checkedDrawableEnd) @@ -118,7 +120,7 @@ class ListItemTextView @JvmOverloads constructor( } private fun getRippleColor(context: Context): ColorStateList { - return context.getThemeColorStateList(android.R.attr.colorControlHighlight) + return ContextCompat.getColorStateList(context, R.color.selector_overlay) ?: ColorStateList.valueOf(Color.TRANSPARENT) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/koitharu/kotatsu/explore/ui/ExploreFragment.kt b/app/src/main/java/org/koitharu/kotatsu/explore/ui/ExploreFragment.kt index b3dfd5716..e96e0d6a6 100644 --- a/app/src/main/java/org/koitharu/kotatsu/explore/ui/ExploreFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/explore/ui/ExploreFragment.kt @@ -75,13 +75,7 @@ class ExploreFragment : } override fun onWindowInsetsChanged(insets: Insets) { - binding.root.updatePadding( - left = insets.left, - right = insets.right, - ) binding.recyclerView.updatePadding( - left = insets.left + paddingHorizontal, - right = insets.right + paddingHorizontal, bottom = insets.bottom, ) } diff --git a/app/src/main/java/org/koitharu/kotatsu/library/ui/LibraryFragment.kt b/app/src/main/java/org/koitharu/kotatsu/library/ui/LibraryFragment.kt index 43f45bef2..073abb193 100644 --- a/app/src/main/java/org/koitharu/kotatsu/library/ui/LibraryFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/library/ui/LibraryFragment.kt @@ -111,10 +111,6 @@ class LibraryFragment : override fun onEmptyActionClick() = Unit override fun onWindowInsetsChanged(insets: Insets) { - binding.root.updatePadding( - left = insets.left, - right = insets.right, - ) binding.recyclerView.updatePadding( bottom = insets.bottom, ) diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt index 9b1111826..9b7b22f91 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -156,16 +156,7 @@ class MainActivity : } } - override fun onWindowInsetsChanged(insets: Insets) { - binding.toolbarCard.updateLayoutParams { - leftMargin = insets.left - rightMargin = insets.right - } - binding.root.updatePadding( - left = insets.left, - right = insets.right, - ) - } + override fun onWindowInsetsChanged(insets: Insets) = Unit override fun onFocusChange(v: View?, hasFocus: Boolean) { val fragment = supportFragmentManager.findFragmentByTag(TAG_SEARCH) diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/MangaListActivity.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/MangaListActivity.kt index 8cef8c281..eb6d12469 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/MangaListActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/MangaListActivity.kt @@ -54,12 +54,10 @@ class MangaListActivity : } override fun onWindowInsetsChanged(insets: Insets) { - with(binding.toolbar) { - updatePadding( - left = insets.left, - right = insets.right, - ) - } + binding.root.updatePadding( + left = insets.left, + right = insets.right, + ) } private class ApplyFilterRunnable( diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt index 215468571..58b9d6658 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt @@ -77,8 +77,6 @@ class ToolsFragment : override fun onWindowInsetsChanged(insets: Insets) { binding.root.updatePadding( - left = insets.left, - right = insets.right, bottom = insets.bottom, ) } diff --git a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt index 769a0caf2..f3f18d76d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt @@ -93,13 +93,7 @@ class FeedFragment : } override fun onWindowInsetsChanged(insets: Insets) { - binding.root.updatePadding( - left = insets.left, - right = insets.right, - ) binding.recyclerView.updatePadding( - left = insets.left + paddingHorizontal, - right = insets.right + paddingHorizontal, bottom = insets.bottom, ) } diff --git a/app/src/main/res/layout-w600dp/activity_categories.xml b/app/src/main/res/layout-w600dp/activity_categories.xml index 5fa1dac25..fbd53ee8b 100644 --- a/app/src/main/res/layout-w600dp/activity_categories.xml +++ b/app/src/main/res/layout-w600dp/activity_categories.xml @@ -47,6 +47,7 @@ android:layout_height="match_parent" android:clipToPadding="false" android:orientation="vertical" + android:paddingVertical="@dimen/list_spacing" android:scrollbars="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> diff --git a/app/src/main/res/layout/activity_categories.xml b/app/src/main/res/layout/activity_categories.xml index dae59defc..7db57a712 100644 --- a/app/src/main/res/layout/activity_categories.xml +++ b/app/src/main/res/layout/activity_categories.xml @@ -47,6 +47,7 @@ android:layout_height="match_parent" android:clipToPadding="false" android:orientation="vertical" + android:paddingVertical="@dimen/list_spacing" android:scrollbars="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> diff --git a/app/src/main/res/layout/item_explore_source.xml b/app/src/main/res/layout/item_explore_source.xml index 69ee7706e..affd0c956 100644 --- a/app/src/main/res/layout/item_explore_source.xml +++ b/app/src/main/res/layout/item_explore_source.xml @@ -5,7 +5,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="?attr/listPreferredItemHeightSmall" - android:background="?selectableItemBackground" + android:background="@drawable/list_selector" android:clipChildren="false" android:gravity="center_vertical" android:orientation="horizontal" diff --git a/app/src/main/res/layout/sheet_favorite_categories.xml b/app/src/main/res/layout/sheet_favorite_categories.xml index 1413bd1ce..4cac14dcf 100644 --- a/app/src/main/res/layout/sheet_favorite_categories.xml +++ b/app/src/main/res/layout/sheet_favorite_categories.xml @@ -5,8 +5,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" - android:paddingBottom="@dimen/list_spacing"> + android:orientation="vertical">