Fix default storage
This commit is contained in:
@@ -147,5 +147,11 @@ class LocalMangaRepository : MangaRepository, KoinComponent {
|
|||||||
result += context.getExternalFilesDirs(DIR_NAME)
|
result += context.getExternalFilesDirs(DIR_NAME)
|
||||||
return result.distinctBy { it.canonicalPath }.filter { it.exists() || it.mkdir() }
|
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()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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 {
|
val value = prefs.getString(context.getString(R.string.key_local_storage), null)?.let {
|
||||||
File(it)
|
File(it)
|
||||||
}?.takeIf { it.exists() && it.canWrite() }
|
}?.takeIf { it.exists() && it.canWrite() }
|
||||||
return value ?: LocalMangaRepository.getAvailableStorageDirs(context).maxBy {
|
return value ?: LocalMangaRepository.getFallbackStorageDir(context)
|
||||||
StatFs(it.path).availableBytes
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setStorageDir(context: Context, file: File?) {
|
fun setStorageDir(context: Context, file: File?) {
|
||||||
|
|||||||
Reference in New Issue
Block a user