精确搜索增加包含关键词的,比如搜索五行 五行天也显示出来, 五天行不显示

pull/1013/head
gedoor 4 years ago
parent d6e3349f8c
commit a91d3d3d30
  1. 2
      app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt
  2. 13
      app/src/main/java/io/legado/app/ui/widget/recycler/UpLinearLayoutManager.kt

@ -139,7 +139,7 @@ class SearchViewModel(application: Application) : BaseViewModel(application),
}
if (!scope.isActive) return
equalData.sortByDescending { it.origins.size }
equalData.addAll(containsData)
equalData.addAll(containsData.sortedByDescending { it.origins.size })
if (!precision) {
equalData.addAll(otherData)
}

@ -17,9 +17,8 @@ class UpLinearLayoutManager(val context: Context) : LinearLayoutManager(context)
scroller.offset = offset
startSmoothScroll(scroller)
}
}
class UpLinearSmoothScroller(context: Context?): LinearSmoothScroller(context) {
class UpLinearSmoothScroller(context: Context?) : LinearSmoothScroller(context) {
var offset = 0
override fun getVerticalSnapPreference(): Int {
@ -30,10 +29,18 @@ class UpLinearSmoothScroller(context: Context?): LinearSmoothScroller(context) {
return SNAP_TO_START
}
override fun calculateDtToFit(viewStart: Int, viewEnd: Int, boxStart: Int, boxEnd: Int, snapPreference: Int): Int {
override fun calculateDtToFit(
viewStart: Int,
viewEnd: Int,
boxStart: Int,
boxEnd: Int,
snapPreference: Int
): Int {
if (snapPreference == SNAP_TO_START) {
return boxStart - viewStart + offset
}
throw IllegalArgumentException("snap preference should be SNAP_TO_START")
}
}
}
Loading…
Cancel
Save