Fix default storage

This commit is contained in:
Koitharu
2020-04-26 20:28:15 +03:00
parent 34acf5bb55
commit b2bb1d22df
2 changed files with 7 additions and 3 deletions

View File

@@ -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()
}
}
}
}

View File

@@ -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?) {