HapeLee 11 месяцев назад
Родитель
Сommit
9e43e085c1

+ 1 - 0
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"
 }

+ 2 - 0
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<TocViewModel>(R.layout.fragment_chapt
             }.let {
                 adapter.setItems(it)
             }
+            postEvent(EventBus.UP_TOC,true)
         }
     }
 

+ 13 - 5
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<ActivityChapterListBinding, TocViewModel>(),
 
     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<ActivityChapterListBinding, TocViewModel>(),
         popup.show()
     }
 
+    override fun observeLiveBus() {
+        observeEvent<Boolean>(EventBus.UP_TOC) {
+            setupMoreMenuButton()
+        }
+    }
+
     override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
         if (ev.action == MotionEvent.ACTION_DOWN) {
             currentFocus?.let {