Swap out saved search layout for chips
This commit is contained in:
parent
6641a7480c
commit
3111daae34
@ -4,24 +4,23 @@ import android.app.Activity
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.Gravity
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
|
||||||
import android.widget.TextView
|
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
|
import com.google.android.material.chip.Chip
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||||
import eu.davidea.flexibleadapter.items.IFlexible
|
import eu.davidea.flexibleadapter.items.IFlexible
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
|
||||||
import eu.kanade.tachiyomi.util.view.gone
|
import eu.kanade.tachiyomi.util.view.gone
|
||||||
import eu.kanade.tachiyomi.util.view.inflate
|
import eu.kanade.tachiyomi.util.view.inflate
|
||||||
|
import eu.kanade.tachiyomi.util.view.visible
|
||||||
import eu.kanade.tachiyomi.widget.SimpleNavigationView
|
import eu.kanade.tachiyomi.widget.SimpleNavigationView
|
||||||
import exh.EXHSavedSearch
|
import exh.EXHSavedSearch
|
||||||
import kotlinx.android.synthetic.main.source_filter_sheet.view.filter_btn
|
import kotlinx.android.synthetic.main.source_filter_sheet.view.filter_btn
|
||||||
import kotlinx.android.synthetic.main.source_filter_sheet.view.reset_btn
|
import kotlinx.android.synthetic.main.source_filter_sheet.view.reset_btn
|
||||||
import kotlinx.android.synthetic.main.source_filter_sheet.view.save_search_btn
|
import kotlinx.android.synthetic.main.source_filter_sheet.view.save_search_btn
|
||||||
import kotlinx.android.synthetic.main.source_filter_sheet.view.saved_searches
|
import kotlinx.android.synthetic.main.source_filter_sheet.view.saved_searches
|
||||||
|
import kotlinx.android.synthetic.main.source_filter_sheet.view.saved_searches_title
|
||||||
|
|
||||||
class SourceFilterSheet(
|
class SourceFilterSheet(
|
||||||
activity: Activity,
|
activity: Activity,
|
||||||
@ -113,21 +112,22 @@ class SourceFilterSheet(
|
|||||||
|
|
||||||
save_search_btn.visibility = if (searches.size < MAX_SAVED_SEARCHES) View.VISIBLE else View.GONE
|
save_search_btn.visibility = if (searches.size < MAX_SAVED_SEARCHES) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
|
if (searches.isEmpty()) {
|
||||||
|
saved_searches_title.gone()
|
||||||
|
} else {
|
||||||
|
saved_searches_title.visible()
|
||||||
|
}
|
||||||
|
|
||||||
searches.withIndex().sortedBy { it.value.name }.forEach { (index, search) ->
|
searches.withIndex().sortedBy { it.value.name }.forEach { (index, search) ->
|
||||||
val restoreBtn = TextView(context)
|
val chip = Chip(context).apply {
|
||||||
restoreBtn.text = search.name
|
text = search.name
|
||||||
val params = LinearLayout.LayoutParams(
|
setOnClickListener { onSavedSearchClicked(index) }
|
||||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
setOnLongClickListener {
|
||||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
onSavedSearchDeleteClicked(index, search.name); true
|
||||||
)
|
}
|
||||||
params.gravity = Gravity.CENTER
|
}
|
||||||
restoreBtn.layoutParams = params
|
|
||||||
restoreBtn.gravity = Gravity.CENTER
|
saved_searches.addView(chip)
|
||||||
restoreBtn.setBackgroundResource(outValue.resourceId)
|
|
||||||
restoreBtn.setPadding(8.dpToPx, 8.dpToPx, 8.dpToPx, 8.dpToPx)
|
|
||||||
restoreBtn.setOnClickListener { onSavedSearchClicked(index) }
|
|
||||||
restoreBtn.setOnLongClickListener { onSavedSearchDeleteClicked(index, search.name); true }
|
|
||||||
saved_searches.addView(restoreBtn)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,12 +75,25 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/saved_searches_title"
|
||||||
|
style="@style/Theme.Widget.Chip"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="14dp"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
|
||||||
|
android:text="@string/eh_saved_searches" />
|
||||||
|
|
||||||
|
<com.google.android.material.chip.ChipGroup
|
||||||
android:id="@+id/saved_searches"
|
android:id="@+id/saved_searches"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:animateLayoutChanges="true"
|
android:layout_marginStart="16dp"
|
||||||
android:orientation="vertical" />
|
android:layout_marginEnd="16dp"
|
||||||
|
app:chipSpacingHorizontal="4dp" />
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/source_filter_content"
|
android:id="@+id/source_filter_content"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user