diff --git a/app/src/main/java/io/legado/app/constant/EventBus.kt b/app/src/main/java/io/legado/app/constant/EventBus.kt index cf12b58a5..b3458293f 100644 --- a/app/src/main/java/io/legado/app/constant/EventBus.kt +++ b/app/src/main/java/io/legado/app/constant/EventBus.kt @@ -33,4 +33,5 @@ object EventBus { const val EXPORT_BOOK = "exportBook" const val UP_MANGA_CONFIG = "upMangaConfig" const val PLAY_MODE_CHANGED = "playModeChanged" + const val UP_TOC = "upToc" } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt b/app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt index e34fff261..640aa08ef 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt @@ -38,6 +38,7 @@ import io.legado.app.utils.applyNavigationBarPadding import io.legado.app.utils.dpToPx import io.legado.app.utils.gone import io.legado.app.utils.observeEvent +import io.legado.app.utils.postEvent import io.legado.app.utils.themeColor import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -369,6 +370,7 @@ class ChapterListFragment : VMBaseFragment(R.layout.fragment_chapt }.let { adapter.setItems(it) } + postEvent(EventBus.UP_TOC,true) } } diff --git a/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt b/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt index b3d1bec02..bc7f71751 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt @@ -26,7 +26,9 @@ import androidx.fragment.app.FragmentPagerAdapter import com.google.android.material.tabs.TabLayout import io.legado.app.R import io.legado.app.base.VMBaseActivity +import io.legado.app.constant.EventBus import io.legado.app.data.entities.Book +import io.legado.app.data.entities.BookChapter import io.legado.app.databinding.ActivityChapterListBinding import io.legado.app.databinding.DialogDownloadChoiceBinding import io.legado.app.help.book.isLocalTxt @@ -40,8 +42,10 @@ import io.legado.app.ui.file.HandleFileContract import io.legado.app.ui.replace.ReplaceRuleActivity import io.legado.app.ui.replace.edit.ReplaceEditActivity import io.legado.app.ui.widget.dialog.WaitDialog +import io.legado.app.utils.applyTint import io.legado.app.utils.gone import io.legado.app.utils.hideSoftInput +import io.legado.app.utils.observeEvent import io.legado.app.utils.shouldHideSoftInput import io.legado.app.utils.showDialogFragment import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -110,11 +114,9 @@ class TocActivity : VMBaseActivity(), private fun setupMoreMenuButton() { val tag = "android:switcher:${binding.viewPager.id}:0" - binding.viewPager.postDelayed({ - val chapterFragment = supportFragmentManager.findFragmentByTag(tag) as? ChapterListFragment - val volumes = chapterFragment?.getAllVolumes().orEmpty() - binding.btnChapterMenu.isVisible = volumes.isNotEmpty() - }, 200) + val chapterFragment = supportFragmentManager.findFragmentByTag(tag) as? ChapterListFragment + val volumes = chapterFragment?.getAllVolumes().orEmpty() + binding.btnChapterMenu.isVisible = volumes.isNotEmpty() binding.btnChapterMenu.setOnClickListener { view -> showChapterActionsMenu(view) } @@ -172,6 +174,12 @@ class TocActivity : VMBaseActivity(), popup.show() } + override fun observeLiveBus() { + observeEvent(EventBus.UP_TOC) { + setupMoreMenuButton() + } + } + override fun dispatchTouchEvent(ev: MotionEvent): Boolean { if (ev.action == MotionEvent.ACTION_DOWN) { currentFocus?.let {