From e29e94a5a159f4c0e77ea113c3a77ca9a295947b Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 2 May 2020 10:56:03 -0400 Subject: [PATCH] Revert to old sorting library (fixes #3034) --- app/build.gradle | 3 +++ .../java/eu/kanade/tachiyomi/util/lang/StringExtensions.kt | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8a206cbc3a..898397f2e8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -210,6 +210,9 @@ dependencies { final acra_version = '5.5.0' implementation "ch.acra:acra-http:$acra_version" + // Sort + implementation 'com.github.gpanther:java-nat-sort:natural-comparator-1.1' + // UI implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4' implementation 'com.github.dmytrodanylyk.android-process-button:library:1.0.4' diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/lang/StringExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/lang/StringExtensions.kt index ae12de3465..1ae62a62e9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/lang/StringExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/lang/StringExtensions.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.util.lang import kotlin.math.floor +import net.greypanther.natsort.CaseInsensitiveSimpleNaturalComparator /** * Replaces the given string to have at most [count] characters using [replacement] at its end. @@ -32,9 +33,8 @@ fun String.truncateCenter(count: Int, replacement: String = "..."): String { * Case-insensitive natural comparator for strings. */ fun String.compareToCaseInsensitiveNaturalOrder(other: String): Int { - return compareBy { it.length } - .then(String.CASE_INSENSITIVE_ORDER) - .then(naturalOrder()).compare(this, other) + val comparator = CaseInsensitiveSimpleNaturalComparator.getInstance() + return comparator.compare(this, other) } /**