diff --git a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt index c4b6c5f15..42fa04e83 100644 --- a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.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) } diff --git a/app/src/main/java/io/legado/app/ui/widget/recycler/UpLinearLayoutManager.kt b/app/src/main/java/io/legado/app/ui/widget/recycler/UpLinearLayoutManager.kt index 1dfd9ec9a..f0236bbea 100644 --- a/app/src/main/java/io/legado/app/ui/widget/recycler/UpLinearLayoutManager.kt +++ b/app/src/main/java/io/legado/app/ui/widget/recycler/UpLinearLayoutManager.kt @@ -17,23 +17,30 @@ class UpLinearLayoutManager(val context: Context) : LinearLayoutManager(context) scroller.offset = offset startSmoothScroll(scroller) } -} -class UpLinearSmoothScroller(context: Context?): LinearSmoothScroller(context) { - var offset = 0 + class UpLinearSmoothScroller(context: Context?) : LinearSmoothScroller(context) { + var offset = 0 - override fun getVerticalSnapPreference(): Int { - return SNAP_TO_START - } + override fun getVerticalSnapPreference(): Int { + return SNAP_TO_START + } - override fun getHorizontalSnapPreference(): Int { - return SNAP_TO_START - } + override fun getHorizontalSnapPreference(): Int { + return SNAP_TO_START + } - override fun calculateDtToFit(viewStart: Int, viewEnd: Int, boxStart: Int, boxEnd: Int, snapPreference: Int): Int { - if (snapPreference == SNAP_TO_START) { - return boxStart - viewStart + offset + 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") } - throw IllegalArgumentException("snap preference should be SNAP_TO_START") } -} \ No newline at end of file + +}