feat: 修复页面onStart没有刷新数据 https://jira.shanqu.cc/browse/GHZSCY-7987

This commit is contained in:
yangfei
2025-05-19 10:48:04 +08:00
parent e608a51cce
commit ef7d2860e5
3 changed files with 8 additions and 14 deletions

View File

@ -109,7 +109,7 @@ class VDownloadManagerFragment :
ToastUtils.showToast(it.message ?: "")
}
.collectLatest {
onLoadRefresh()
refreshApks(it.map { it.packageName })
}
}
}
@ -125,9 +125,9 @@ class VDownloadManagerFragment :
override fun isAutomaticLoad(): Boolean = false
override fun onLoadRefresh() {
private fun refreshApks(apks: List<String>) {
mReuseNoData?.visibility = View.GONE
mViewModel.refresh()
mViewModel.refresh(apks)
}
override fun onDarkModeChanged() {

View File

@ -29,19 +29,19 @@ class VDownloadManagerViewModel(application: Application) :
var type = ""
var isFromHomeRecent = false
var loadPublishSubject: PublishSubject<LoadType> = PublishSubject.create()
private var loadPublishSubject: PublishSubject<List<String>> = PublishSubject.create()
val disposable: Disposable = loadPublishSubject.debounce(300, TimeUnit.MILLISECONDS)
.distinctUntilChanged()
.distinctUntilChanged { p1, p2 -> p1.sorted() == p2.sorted() }
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
load(it)
load(LoadType.REFRESH)
}
val vGames = VHelper.vGameDao.getAllGames()
fun refresh() {
loadPublishSubject.onNext(LoadType.REFRESH)
fun refresh(apks: List<String>) {
loadPublishSubject.onNext(apks)
}
override fun mergeResultLiveData() {

View File

@ -97,12 +97,6 @@ class VDownloadManagerWrapperFragment : BaseLazyTabFragment() {
}
fun onNewIntent(intent: Intent?) {
childFragmentManager.fragments.forEach {
if (it.isAdded && it is VDownloadManagerFragment) {
it.onLoadRefresh()
}
}
intent?.getIntExtra(EntranceConsts.KEY_POSITION, 0)?.let {
mViewPager.post { mViewPager.currentItem = it }
}