优化
This commit is contained in:
@@ -73,6 +73,7 @@ object ReadBook : CoroutineScope by MainScope() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun resetData(book: Book) {
|
fun resetData(book: Book) {
|
||||||
|
ReadAloud.stop(appCtx)
|
||||||
ReadBook.book = book
|
ReadBook.book = book
|
||||||
readRecord.bookName = book.name
|
readRecord.bookName = book.name
|
||||||
readRecord.readTime = appDb.readRecordDao.getReadTime(book.name) ?: 0
|
readRecord.readTime = appDb.readRecordDao.getReadTime(book.name) ?: 0
|
||||||
|
|||||||
@@ -396,14 +396,9 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|||||||
private inner class PageChangeCallback : ViewPager.SimpleOnPageChangeListener() {
|
private inner class PageChangeCallback : ViewPager.SimpleOnPageChangeListener() {
|
||||||
|
|
||||||
override fun onPageSelected(position: Int) {
|
override fun onPageSelected(position: Int) {
|
||||||
val oldPosition = pagePosition
|
|
||||||
pagePosition = position
|
pagePosition = position
|
||||||
binding.bottomNavigationView.menu
|
binding.bottomNavigationView.menu
|
||||||
.getItem(realPositions[position]).isChecked = true
|
.getItem(realPositions[position]).isChecked = true
|
||||||
val callback1 = fragmentMap[getFragmentId(position)] as? Callback
|
|
||||||
val callback2 = fragmentMap[getFragmentId(oldPosition)] as? Callback
|
|
||||||
callback1?.onActive()
|
|
||||||
callback2?.onInactive()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -453,12 +448,4 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Callback {
|
|
||||||
|
|
||||||
fun onActive()
|
|
||||||
|
|
||||||
fun onInactive()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -25,7 +25,6 @@ import io.legado.app.ui.book.explore.ExploreShowActivity
|
|||||||
import io.legado.app.ui.book.search.SearchActivity
|
import io.legado.app.ui.book.search.SearchActivity
|
||||||
import io.legado.app.ui.book.search.SearchScope
|
import io.legado.app.ui.book.search.SearchScope
|
||||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||||
import io.legado.app.ui.main.MainActivity
|
|
||||||
import io.legado.app.ui.main.MainFragmentInterface
|
import io.legado.app.ui.main.MainFragmentInterface
|
||||||
import io.legado.app.utils.applyTint
|
import io.legado.app.utils.applyTint
|
||||||
import io.legado.app.utils.cnCompare
|
import io.legado.app.utils.cnCompare
|
||||||
@@ -47,8 +46,7 @@ import kotlinx.coroutines.launch
|
|||||||
*/
|
*/
|
||||||
class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_explore),
|
class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_explore),
|
||||||
MainFragmentInterface,
|
MainFragmentInterface,
|
||||||
ExploreAdapter.CallBack,
|
ExploreAdapter.CallBack {
|
||||||
MainActivity.Callback {
|
|
||||||
|
|
||||||
constructor(position: Int) : this() {
|
constructor(position: Int) : this() {
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
@@ -69,7 +67,6 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
|
|||||||
private val groups = linkedSetOf<String>()
|
private val groups = linkedSetOf<String>()
|
||||||
private var exploreFlowJob: Job? = null
|
private var exploreFlowJob: Job? = null
|
||||||
private var groupsMenu: SubMenu? = null
|
private var groupsMenu: SubMenu? = null
|
||||||
private var isActive = false
|
|
||||||
private var searchKey: String? = null
|
private var searchKey: String? = null
|
||||||
|
|
||||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
@@ -234,19 +231,4 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onActive() {
|
|
||||||
isActive = true
|
|
||||||
upExploreData(searchKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onInactive() {
|
|
||||||
isActive = false
|
|
||||||
exploreFlowJob?.cancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
if (isActive) upExploreData(searchKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user