使用本地书籍导入和webDav书籍时请求设置书籍保存位置 (#2386)
* refactor: remove storage setting request * refactor: request storage setting when neededpull/2389/head^2
parent
ca2381e8b6
commit
75bd60ad19
@ -1,2 +1,2 @@ |
||||
* 由于安卓的存储访问限制,阅读需要设置**公共目录下的子目录**来实现书籍拷贝、下载 |
||||
* 如不设置,可能影响本地书籍、webDav书籍的正常阅读 |
||||
* 由于安卓的存储访问限制,阅读需要设置**公共目录下的子目录**来实现书籍拷贝、下载,例如Documents/Books、Download/Books |
||||
* 如不设置,将无法正常使用本地书籍、webDav书籍的相关功能 |
@ -0,0 +1,45 @@ |
||||
package io.legado.app.ui.book.import |
||||
|
||||
import androidx.lifecycle.ViewModel |
||||
import androidx.viewbinding.ViewBinding |
||||
import io.legado.app.R |
||||
import io.legado.app.base.VMBaseActivity |
||||
import io.legado.app.help.config.AppConfig |
||||
import io.legado.app.lib.dialogs.alert |
||||
import io.legado.app.ui.document.HandleFileContract |
||||
|
||||
abstract class BaseImportBookActivity<VB : ViewBinding, VM : ViewModel>(): VMBaseActivity<VB, VM>() { |
||||
|
||||
private val localBookTreeSelect = registerForActivityResult(HandleFileContract()) { |
||||
it.uri?.let { treeUri -> |
||||
AppConfig.defaultBookTreeUri = treeUri.toString() |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 设置书籍保存位置 |
||||
*/ |
||||
protected fun setBookStorage() { |
||||
//测试书籍保存位置是否设置 |
||||
if (!AppConfig.defaultBookTreeUri.isNullOrBlank()) return |
||||
//测试读写?? |
||||
val storageHelp = String(assets.open("storageHelp.md").readBytes()) |
||||
val hint = getString(R.string.select_book_folder) |
||||
alert(hint, storageHelp) { |
||||
yesButton { |
||||
localBookTreeSelect.launch { |
||||
title = hint |
||||
mode = HandleFileContract.DIR_SYS |
||||
} |
||||
} |
||||
noButton { |
||||
finish() |
||||
} |
||||
onCancelled { |
||||
finish() |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.local |
||||
package io.legado.app.ui.book.import.local |
||||
|
||||
import android.annotation.SuppressLint |
||||
import android.content.Context |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.local |
||||
package io.legado.app.ui.book.import.local |
||||
|
||||
import android.app.Application |
||||
import android.net.Uri |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.local.rule |
||||
package io.legado.app.ui.book.import.local.rule |
||||
|
||||
import android.annotation.SuppressLint |
||||
import android.os.Bundle |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.local.rule |
||||
package io.legado.app.ui.book.import.local.rule |
||||
|
||||
import android.content.Context |
||||
import android.os.Bundle |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.local.rule |
||||
package io.legado.app.ui.book.import.local.rule |
||||
|
||||
import android.app.Application |
||||
import io.legado.app.base.BaseViewModel |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.remote |
||||
package io.legado.app.ui.book.import.remote |
||||
|
||||
import android.annotation.SuppressLint |
||||
import android.content.Context |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.remote |
||||
package io.legado.app.ui.book.import.remote |
||||
|
||||
enum class RemoteBookSort { |
||||
Default, Name |
@ -1,4 +1,4 @@ |
||||
package io.legado.app.ui.book.remote |
||||
package io.legado.app.ui.book.import.remote |
||||
|
||||
import android.app.Application |
||||
import io.legado.app.base.BaseViewModel |
Loading…
Reference in new issue