Browse Source

Fully expand source filter sheet on show (closes #4455)

arkon 4 years ago
parent
commit
99b46096a4

+ 19 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt

@@ -5,6 +5,7 @@ import android.content.Context
 import android.util.AttributeSet
 import android.view.LayoutInflater
 import android.view.ViewGroup
+import com.google.android.material.bottomsheet.BottomSheetBehavior
 import eu.davidea.flexibleadapter.FlexibleAdapter
 import eu.davidea.flexibleadapter.items.IFlexible
 import eu.kanade.tachiyomi.databinding.SourceFilterSheetBinding
@@ -17,10 +18,10 @@ class SourceFilterSheet(
     onResetClicked: () -> Unit
 ) : BaseBottomSheetDialog(activity) {
 
-    private var filterNavView: FilterNavigationView
+    private var filterNavView: FilterNavigationView = FilterNavigationView(activity)
+    private val sheetBehavior: BottomSheetBehavior<*>
 
     init {
-        filterNavView = FilterNavigationView(activity)
         filterNavView.onFilterClicked = {
             onFilterClicked()
             this.dismiss()
@@ -28,13 +29,23 @@ class SourceFilterSheet(
         filterNavView.onResetClicked = onResetClicked
 
         setContentView(filterNavView)
+
+        sheetBehavior = BottomSheetBehavior.from(filterNavView.parent as ViewGroup)
+    }
+
+    override fun show() {
+        super.show()
+        sheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
     }
 
     fun setFilters(items: List<IFlexible<*>>) {
         filterNavView.adapter.updateDataSet(items)
     }
 
-    class FilterNavigationView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
+    class FilterNavigationView @JvmOverloads constructor(
+        context: Context,
+        attrs: AttributeSet? = null
+    ) :
         SimpleNavigationView(context, attrs) {
 
         var onFilterClicked = {}
@@ -42,9 +53,12 @@ class SourceFilterSheet(
 
         val adapter: FlexibleAdapter<IFlexible<*>> = FlexibleAdapter<IFlexible<*>>(null)
             .setDisplayHeadersAtStartUp(true)
-            .setStickyHeaders(true)
 
-        private val binding = SourceFilterSheetBinding.inflate(LayoutInflater.from(context), null, false)
+        private val binding = SourceFilterSheetBinding.inflate(
+            LayoutInflater.from(context),
+            null,
+            false
+        )
 
         init {
             recycler.adapter = adapter

+ 0 - 9
app/src/main/res/drawable/ic_drag_pill_24dp.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:fillColor="@android:color/black"
-        android:pathData="M22.15,13.85H1.85A1.86,1.86,0,0,1,0,12H0a1.86,1.86,0,0,1,1.85-1.85H22.15A1.86,1.86,0,0,1,24,12h0A1.86,1.86,0,0,1,22.15,13.85Z" />
-</vector>

+ 0 - 14
app/src/main/res/layout/source_filter_sheet.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 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"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
@@ -15,19 +14,6 @@
         android:paddingStart="?attr/listPreferredItemPaddingStart"
         android:paddingEnd="?attr/listPreferredItemPaddingEnd">
 
-        <ImageView
-            android:id="@+id/pull_up_bar"
-            android:layout_width="wrap_content"
-            android:layout_height="24dp"
-            android:alpha="0.5"
-            android:scaleType="fitCenter"
-            android:src="@drawable/ic_drag_pill_24dp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:tint="?attr/colorOnSurface"
-            tools:ignore="ContentDescription" />
-
         <Button
             android:id="@+id/reset_btn"
             style="@style/Theme.Widget.Button"