mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Avoid unnecessary string creation when sorting
This commit is contained in:
		| @@ -34,7 +34,6 @@ import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import java.io.FileInputStream | ||||
| import java.io.InputStream | ||||
| import java.util.Locale | ||||
| import java.util.concurrent.TimeUnit | ||||
| import java.util.zip.ZipFile | ||||
|  | ||||
| @@ -111,9 +110,9 @@ class LocalSource(private val context: Context) : CatalogueSource, UnmeteredSour | ||||
|         when (state?.index) { | ||||
|             0 -> { | ||||
|                 mangaDirs = if (state.ascending) { | ||||
|                     mangaDirs.sortedBy { it.name.lowercase(Locale.ENGLISH) } | ||||
|                     mangaDirs.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, { it.name })) | ||||
|                 } else { | ||||
|                     mangaDirs.sortedByDescending { it.name.lowercase(Locale.ENGLISH) } | ||||
|                     mangaDirs.sortedWith(compareByDescending(String.CASE_INSENSITIVE_ORDER, { it.name })) | ||||
|                 } | ||||
|             } | ||||
|             1 -> { | ||||
| @@ -176,7 +175,7 @@ class LocalSource(private val context: Context) : CatalogueSource, UnmeteredSour | ||||
|             .asSequence() | ||||
|             .mapNotNull { File(it, manga.key).listFiles()?.toList() } | ||||
|             .flatten() | ||||
|             .firstOrNull { it.extension.lowercase() == "json" } | ||||
|             .firstOrNull { it.extension.equals("json", ignoreCase = true) } | ||||
|  | ||||
|         return if (localDetails != null) { | ||||
|             val obj = json.decodeFromStream<JsonObject>(localDetails.inputStream()) | ||||
|   | ||||
| @@ -42,7 +42,7 @@ class SourceFilterController : SettingsController() { | ||||
|         ) | ||||
|  | ||||
|         orderedLangs.forEach { lang -> | ||||
|             val sources = sourcesByLang[lang].orEmpty().sortedBy { it.name.lowercase() } | ||||
|             val sources = sourcesByLang[lang].orEmpty().sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, { it.name })) | ||||
|  | ||||
|             // Create a preference group and set initial state and change listener | ||||
|             switchPreferenceCategory { | ||||
|   | ||||
| @@ -45,7 +45,7 @@ class LicensesController : | ||||
|         viewScope.launchUI { | ||||
|             val licenseItems = withIOContext { | ||||
|                 Libs(view.context).libraries | ||||
|                     .sortedBy { it.libraryName.lowercase() } | ||||
|                     .sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, { it.libraryName })) | ||||
|                     .map { LicensesItem(it) } | ||||
|             } | ||||
|             binding.progress.hide() | ||||
|   | ||||
| @@ -130,8 +130,8 @@ fun syncChaptersWithSource( | ||||
|                     // Try to to use the fetch date it originally had to not pollute 'Updates' tab | ||||
|                     toDelete.filter { it.chapter_number == chapter.chapter_number } | ||||
|                         .minByOrNull { it.date_fetch }!!.let { | ||||
|                             chapter.date_fetch = it.date_fetch | ||||
|                         } | ||||
|                         chapter.date_fetch = it.date_fetch | ||||
|                     } | ||||
|                     readded.add(chapter) | ||||
|                 } | ||||
|             } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user