|
|
@@ -15,6 +15,7 @@ import com.google.android.material.tabs.TabLayout
|
|
|
import io.legado.app.R
|
|
|
import io.legado.app.base.VMBaseActivity
|
|
|
import io.legado.app.databinding.ActivityChapterListBinding
|
|
|
+import io.legado.app.help.book.isLocalTxt
|
|
|
import io.legado.app.help.config.AppConfig
|
|
|
import io.legado.app.lib.theme.accentColor
|
|
|
import io.legado.app.lib.theme.primaryTextColor
|
|
|
@@ -25,13 +26,16 @@ import io.legado.app.utils.showDialogFragment
|
|
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|
|
import io.legado.app.utils.visible
|
|
|
|
|
|
-
|
|
|
+/**
|
|
|
+ * 目录
|
|
|
+ */
|
|
|
class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
|
|
|
|
|
|
override val binding by viewBinding(ActivityChapterListBinding::inflate)
|
|
|
override val viewModel by viewModels<TocViewModel>()
|
|
|
|
|
|
private lateinit var tabLayout: TabLayout
|
|
|
+ private var menu: Menu? = null
|
|
|
private var searchView: SearchView? = null
|
|
|
|
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
|
|
@@ -40,6 +44,9 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
|
|
|
tabLayout.setSelectedTabIndicatorColor(accentColor)
|
|
|
binding.viewPager.adapter = TabFragmentPageAdapter()
|
|
|
tabLayout.setupWithViewPager(binding.viewPager)
|
|
|
+ viewModel.bookData.observe(this) {
|
|
|
+ menu?.setGroupVisible(R.id.menu_group_text, it.isLocalTxt)
|
|
|
+ }
|
|
|
intent.getStringExtra("bookUrl")?.let {
|
|
|
viewModel.initBook(it)
|
|
|
}
|
|
|
@@ -47,6 +54,10 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
|
|
|
|
|
|
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
|
|
|
menuInflater.inflate(R.menu.book_toc, menu)
|
|
|
+ this.menu = menu
|
|
|
+ viewModel.bookData.value?.let {
|
|
|
+ menu.setGroupVisible(R.id.menu_group_text, it.isLocalTxt)
|
|
|
+ }
|
|
|
val search = menu.findItem(R.id.menu_search)
|
|
|
searchView = (search.actionView as SearchView).apply {
|
|
|
applyTint(primaryTextColor)
|
|
|
@@ -84,6 +95,9 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
|
|
|
|
|
|
override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
|
|
|
when (item.itemId) {
|
|
|
+ R.id.menu_toc_regex -> showDialogFragment(
|
|
|
+ TxtTocRegexDialog(viewModel.bookData.value?.tocUrl)
|
|
|
+ )
|
|
|
R.id.menu_reverse_toc -> viewModel.reverseToc {
|
|
|
viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString())
|
|
|
setResult(RESULT_OK, Intent().apply {
|
|
|
@@ -101,12 +115,12 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
|
|
|
return super.onCompatOptionsItemSelected(item)
|
|
|
}
|
|
|
|
|
|
- override fun onBackPressed() {
|
|
|
+ override fun finish() {
|
|
|
if (tabLayout.isGone) {
|
|
|
searchView?.onActionViewCollapsed()
|
|
|
tabLayout.visible()
|
|
|
} else {
|
|
|
- super.onBackPressed()
|
|
|
+ super.finish()
|
|
|
}
|
|
|
}
|
|
|
|