|
|
@@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope
|
|
|
import androidx.recyclerview.widget.ItemTouchHelper
|
|
|
import io.legado.app.R
|
|
|
import io.legado.app.base.VMBaseActivity
|
|
|
+import io.legado.app.constant.AppLog
|
|
|
import io.legado.app.data.appDb
|
|
|
import io.legado.app.data.entities.TxtTocRule
|
|
|
import io.legado.app.databinding.ActivityTxtTocRuleBinding
|
|
|
@@ -25,9 +26,21 @@ import io.legado.app.ui.widget.dialog.TextDialog
|
|
|
import io.legado.app.ui.widget.recycler.DragSelectTouchHelper
|
|
|
import io.legado.app.ui.widget.recycler.ItemTouchCallback
|
|
|
import io.legado.app.ui.widget.recycler.VerticalDivider
|
|
|
-import io.legado.app.utils.*
|
|
|
+import io.legado.app.utils.ACache
|
|
|
+import io.legado.app.utils.GSON
|
|
|
+import io.legado.app.utils.isAbsUrl
|
|
|
+import io.legado.app.utils.launch
|
|
|
+import io.legado.app.utils.readText
|
|
|
+import io.legado.app.utils.sendToClip
|
|
|
+import io.legado.app.utils.setEdgeEffectColor
|
|
|
+import io.legado.app.utils.showDialogFragment
|
|
|
+import io.legado.app.utils.splitNotBlank
|
|
|
+import io.legado.app.utils.toastOnUi
|
|
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|
|
+import kotlinx.coroutines.Dispatchers.IO
|
|
|
+import kotlinx.coroutines.flow.catch
|
|
|
import kotlinx.coroutines.flow.conflate
|
|
|
+import kotlinx.coroutines.flow.flowOn
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
|
class TxtTocRuleActivity : VMBaseActivity<ActivityTxtTocRuleBinding, TxtTocRuleViewModel>(),
|
|
|
@@ -103,7 +116,9 @@ class TxtTocRuleActivity : VMBaseActivity<ActivityTxtTocRuleBinding, TxtTocRuleV
|
|
|
|
|
|
private fun initData() {
|
|
|
lifecycleScope.launch {
|
|
|
- appDb.txtTocRuleDao.observeAll().conflate().collect { tocRules ->
|
|
|
+ appDb.txtTocRuleDao.observeAll().catch {
|
|
|
+ AppLog.put("TXT目录规则界面获取数据失败\n${it.localizedMessage}", it)
|
|
|
+ }.flowOn(IO).conflate().collect { tocRules ->
|
|
|
adapter.setItems(tocRules, adapter.diffItemCallBack)
|
|
|
upCountView()
|
|
|
}
|