|
|
@@ -31,6 +31,7 @@ import io.legado.app.lib.dialogs.alert
|
|
|
import io.legado.app.lib.theme.elevation
|
|
|
import io.legado.app.lib.theme.primaryColor
|
|
|
import io.legado.app.service.BaseReadAloudService
|
|
|
+import io.legado.app.ui.document.HandleFileContract
|
|
|
import io.legado.app.ui.main.bookshelf.BaseBookshelfFragment
|
|
|
import io.legado.app.ui.main.bookshelf.style1.BookshelfFragment1
|
|
|
import io.legado.app.ui.main.bookshelf.style2.BookshelfFragment2
|
|
|
@@ -70,6 +71,12 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|
|
private var bottomMenuCount = 4
|
|
|
private val realPositions = arrayOf(idBookshelf, idExplore, idRss, idMy)
|
|
|
|
|
|
+ private val localBookTreeSelect = registerForActivityResult(HandleFileContract()) {
|
|
|
+ it.uri?.let { treeUri ->
|
|
|
+ AppConfig.defaultBookTreeUri = treeUri.toString()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
|
|
upBottomMenu()
|
|
|
binding.run {
|
|
|
@@ -87,6 +94,8 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|
|
super.onPostCreate(savedInstanceState)
|
|
|
upVersion()
|
|
|
privacyPolicy()
|
|
|
+ //请求设置书籍保存位置
|
|
|
+ setBookStorage()
|
|
|
//自动更新书籍
|
|
|
val isAutoRefreshedBook = savedInstanceState?.getBoolean("isAutoRefreshedBook") ?: false
|
|
|
if (AppConfig.autoRefreshBook && !isAutoRefreshedBook) {
|
|
|
@@ -181,6 +190,25 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 设置书籍保存位置
|
|
|
+ */
|
|
|
+ private fun setBookStorage() {
|
|
|
+ //测试书籍保存位置是否设置
|
|
|
+ if (!AppConfig.defaultBookTreeUri.isNullOrBlank()) return
|
|
|
+ //测试读写??
|
|
|
+ val storageHelp = String(assets.open("storageHelp.md").readBytes())
|
|
|
+ alert("设置书籍保存位置", storageHelp) {
|
|
|
+ yesButton {
|
|
|
+ localBookTreeSelect.launch {
|
|
|
+ title = getString(R.string.select_book_folder)
|
|
|
+ mode = HandleFileContract.DIR_SYS
|
|
|
+ }
|
|
|
+ }
|
|
|
+ noButton()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
|
|
|
event?.let {
|
|
|
when (keyCode) {
|