From b2bb1d22dfc7fb574a6fc532aa72b539df8a1789 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sun, 26 Apr 2020 20:28:15 +0300 Subject: [PATCH] Fix default storage --- .../koitharu/kotatsu/core/parser/LocalMangaRepository.kt | 6 ++++++ .../java/org/koitharu/kotatsu/core/prefs/AppSettings.kt | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/LocalMangaRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/LocalMangaRepository.kt index 2655756c6..2a0122501 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/LocalMangaRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/LocalMangaRepository.kt @@ -147,5 +147,11 @@ class LocalMangaRepository : MangaRepository, KoinComponent { result += context.getExternalFilesDirs(DIR_NAME) return result.distinctBy { it.canonicalPath }.filter { it.exists() || it.mkdir() } } + + fun getFallbackStorageDir(context: Context): File? { + return context.getExternalFilesDir(DIR_NAME) ?: context.filesDir.sub(DIR_NAME).takeIf { + (it.exists() || it.mkdir()) && it.canWrite() + } + } } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt index 88bec48d8..bc91bacf9 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt @@ -96,9 +96,7 @@ class AppSettings private constructor(resources: Resources, private val prefs: S val value = prefs.getString(context.getString(R.string.key_local_storage), null)?.let { File(it) }?.takeIf { it.exists() && it.canWrite() } - return value ?: LocalMangaRepository.getAvailableStorageDirs(context).maxBy { - StatFs(it.path).availableBytes - } + return value ?: LocalMangaRepository.getFallbackStorageDir(context) } fun setStorageDir(context: Context, file: File?) {