pull/84/head
kunfei 5 years ago
parent c2fd24836c
commit 2469983166
  1. 12
      app/src/main/java/io/legado/app/help/BookHelp.kt
  2. 5
      app/src/main/java/io/legado/app/utils/StringExtensions.kt

@ -38,7 +38,7 @@ object BookHelp {
} }
fun clearCache() { fun clearCache() {
if (downloadUri.isDocumentUri(App.INSTANCE)) { if (downloadPath.isContentPath()) {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri) DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)
?.findFile(cacheFolderName) ?.findFile(cacheFolderName)
?.delete() ?.delete()
@ -55,7 +55,7 @@ object BookHelp {
@Synchronized @Synchronized
fun saveContent(book: Book, bookChapter: BookChapter, content: String) { fun saveContent(book: Book, bookChapter: BookChapter, content: String) {
if (content.isEmpty()) return if (content.isEmpty()) return
if (downloadUri.isDocumentUri(App.INSTANCE)) { if (downloadPath.isContentPath()) {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root -> DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root ->
DocumentUtils.getDirDocument( DocumentUtils.getDirDocument(
root, root,
@ -91,7 +91,7 @@ object BookHelp {
} }
fun getChapterCount(book: Book): Int { fun getChapterCount(book: Book): Int {
if (downloadUri.isDocumentUri(App.INSTANCE)) { if (downloadPath.isContentPath()) {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root -> DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root ->
return DocumentUtils.createFolderIfNotExist( return DocumentUtils.createFolderIfNotExist(
root, root,
@ -112,7 +112,7 @@ object BookHelp {
book.isLocalBook() -> { book.isLocalBook() -> {
return true return true
} }
downloadUri.isDocumentUri(App.INSTANCE) -> { downloadPath.isContentPath() -> {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root -> DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root ->
return DocumentUtils.exists( return DocumentUtils.exists(
root, root,
@ -137,7 +137,7 @@ object BookHelp {
book.isLocalBook() -> { book.isLocalBook() -> {
return AnalyzeTxtFile.getContent(book, bookChapter) return AnalyzeTxtFile.getContent(book, bookChapter)
} }
downloadUri.isDocumentUri(App.INSTANCE) -> { downloadPath.isContentPath() -> {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root -> DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root ->
return DocumentUtils.getDirDocument( return DocumentUtils.getDirDocument(
root, root,
@ -163,7 +163,7 @@ object BookHelp {
fun delContent(book: Book, bookChapter: BookChapter) { fun delContent(book: Book, bookChapter: BookChapter) {
when { when {
book.isLocalBook() -> return book.isLocalBook() -> return
downloadUri.isDocumentUri(App.INSTANCE) -> { downloadPath.isContentPath() -> {
DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root -> DocumentFile.fromTreeUri(App.INSTANCE, downloadUri)?.let { root ->
DocumentUtils.getDirDocument( DocumentUtils.getDirDocument(
root, root,

@ -4,6 +4,8 @@ package io.legado.app.utils
fun String?.safeTrim() = if (this.isNullOrBlank()) null else this.trim() fun String?.safeTrim() = if (this.isNullOrBlank()) null else this.trim()
fun String?.isContentPath(): Boolean = this?.startsWith("content://") == true
fun String?.isAbsUrl() = fun String?.isAbsUrl() =
this?.let { this?.let {
it.startsWith("http://", true) it.startsWith("http://", true)
@ -48,7 +50,4 @@ fun String.splitNotBlank(regex: Regex, limit: Int = 0): Array<String> = run {
this.split(regex, limit).map { it.trim() }.filterNot { it.isBlank() }.toTypedArray() this.split(regex, limit).map { it.trim() }.filterNot { it.isBlank() }.toTypedArray()
} }
fun String.startWithIgnoreCase(start: String): Boolean {
return if (this.isBlank()) false else startsWith(start, true)
}

Loading…
Cancel
Save