Use plus extension

pull/446/head
Isira Seneviratne 3 years ago
parent c5c907c8dc
commit e975f1f2d3

@ -257,10 +257,7 @@ class FilterCoordinator @Inject constructor(
} }
private fun mergeTags(primary: Set<MangaTag>, secondary: Set<MangaTag>): Set<MangaTag> { private fun mergeTags(primary: Set<MangaTag>, secondary: Set<MangaTag>): Set<MangaTag> {
val result = TreeSet(TagTitleComparator(repository.source.locale)) return (primary + secondary).toSortedSet(TagTitleComparator(repository.source.locale))
result.addAll(secondary)
result.addAll(primary)
return result
} }
private class TagsWrapper( private class TagsWrapper(

@ -17,8 +17,6 @@ import org.koitharu.kotatsu.core.prefs.AppSettings
import org.koitharu.kotatsu.core.util.ext.computeSize import org.koitharu.kotatsu.core.util.ext.computeSize
import org.koitharu.kotatsu.core.util.ext.getStorageName import org.koitharu.kotatsu.core.util.ext.getStorageName
import org.koitharu.kotatsu.core.util.ext.resolveFile import org.koitharu.kotatsu.core.util.ext.resolveFile
import org.koitharu.kotatsu.core.util.ext.toFileOrNull
import org.koitharu.kotatsu.parsers.util.mapToSet
import java.io.File import java.io.File
import javax.inject.Inject import javax.inject.Inject
@ -58,7 +56,7 @@ class LocalStorageManager @Inject constructor(
} }
suspend fun computeAvailableSize() = runInterruptible(Dispatchers.IO) { suspend fun computeAvailableSize() = runInterruptible(Dispatchers.IO) {
getAvailableStorageDirs().mapToSet { it.freeSpace }.sum() getAvailableStorageDirs().sumOf { it.freeSpace }
} }
suspend fun clearCache(cache: CacheDir) = runInterruptible(Dispatchers.IO) { suspend fun clearCache(cache: CacheDir) = runInterruptible(Dispatchers.IO) {
@ -113,19 +111,16 @@ class LocalStorageManager @Inject constructor(
} }
@WorkerThread @WorkerThread
private fun getConfiguredStorageDirs(): MutableSet<File> { private fun getConfiguredStorageDirs(): Set<File> {
val set = getAvailableStorageDirs() return getAvailableStorageDirs() + settings.userSpecifiedMangaDirectories
set.addAll(settings.userSpecifiedMangaDirectories)
return set
} }
@WorkerThread @WorkerThread
private fun getAvailableStorageDirs(): MutableSet<File> { private fun getAvailableStorageDirs(): Set<File> {
val result = LinkedHashSet<File>() return (sequenceOf(File(context.filesDir, DIR_NAME)) + context.getExternalFilesDirs(DIR_NAME))
result += File(context.filesDir, DIR_NAME) .filterNotNull()
context.getExternalFilesDirs(DIR_NAME).filterNotNullTo(result) .filter { it.exists() || it.mkdirs() }
result.retainAll { it.exists() || it.mkdirs() } .toSet()
return result
} }
@WorkerThread @WorkerThread
@ -136,21 +131,11 @@ class LocalStorageManager @Inject constructor(
} }
@WorkerThread @WorkerThread
private fun getCacheDirs(subDir: String): MutableSet<File> { private fun getCacheDirs(subDir: String = ""): Set<File> {
val result = LinkedHashSet<File>() return (sequenceOf(context.cacheDir) + context.externalCacheDirs)
result += File(context.cacheDir, subDir) .filterNotNull()
context.externalCacheDirs.mapNotNullTo(result) { .map { File(it, subDir) }
File(it ?: return@mapNotNullTo null, subDir) .toSet()
}
return result
}
@WorkerThread
private fun getCacheDirs(): MutableSet<File> {
val result = LinkedHashSet<File>()
result += context.cacheDir
context.externalCacheDirs.filterNotNullTo(result)
return result
} }
private fun calculateDiskCacheSize(cacheDirectory: File): Long { private fun calculateDiskCacheSize(cacheDirectory: File): Long {

Loading…
Cancel
Save