From a91d3d3d30c2630ca1a878e0b87d946af3a6a9cb Mon Sep 17 00:00:00 2001 From: gedoor Date: Mon, 24 May 2021 22:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B2=BE=E7=A1=AE=E6=90=9C=E7=B4=A2=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8C=85=E5=90=AB=E5=85=B3=E9=94=AE=E8=AF=8D=E7=9A=84?= =?UTF-8?q?,=E6=AF=94=E5=A6=82=E6=90=9C=E7=B4=A2=E4=BA=94=E8=A1=8C=20?= =?UTF-8?q?=E4=BA=94=E8=A1=8C=E5=A4=A9=E4=B9=9F=E6=98=BE=E7=A4=BA=E5=87=BA?= =?UTF-8?q?=E6=9D=A5,=20=E4=BA=94=E5=A4=A9=E8=A1=8C=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/search/SearchViewModel.kt | 2 +- .../widget/recycler/UpLinearLayoutManager.kt | 35 +++++++++++-------- 2 files changed, 22 insertions(+), 15 deletions(-) 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 + +}