diff --git a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt index 3106769f38..0c630c508a 100644 --- a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt @@ -123,11 +123,9 @@ class VideoDetailContainerFragment : BaseLazyFragment(), OnBackPressedListener { mBinding.refresh.setProgressViewOffset(false, 0, 50F.dip2px() + DisplayUtils.getStatusBarHeight(requireContext().resources)) observeData() - - if (UserManager.getInstance().isLoggedIn || mLocation != VideoDetailContainerViewModel.Location.VIDEO_ATTENTION.value) { + + if (mLocation != VideoDetailContainerViewModel.Location.VIDEO_ATTENTION.value) { mViewModel.getVideoDetailList(mInitialVideoId, mLocation, isLoadNext = true) - } else { - mBinding.attentionNoLoginContainer.visibility = View.VISIBLE } mBinding.loginBtn.setOnClickListener { @@ -224,7 +222,7 @@ class VideoDetailContainerFragment : BaseLazyFragment(), OnBackPressedListener { mBinding.refresh.isEnabled = it != null if (it != null) { mBinding.attentionNoLoginContainer.visibility = View.GONE - mViewModel.getVideoDetailList(mInitialVideoId, mLocation, isLoadNext = true) + mViewModel.getVideoDetailList(mInitialVideoId, mLocation, isLoadNext = false) } else { if (::mAdapter.isInitialized) { mBinding.recyclerview.visibility = View.GONE diff --git a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt index 4e4e5e39e7..84ba5ba562 100644 --- a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt @@ -22,6 +22,7 @@ import com.gh.gamecenter.retrofit.RetrofitManager import com.google.gson.JsonObject import com.lightgame.utils.Utils import io.reactivex.Single +import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers import okhttp3.ResponseBody import java.lang.ref.WeakReference @@ -214,11 +215,14 @@ class VideoDetailContainerViewModel(application: Application) : AndroidViewModel if (!mIsFirstLoad && total <= videoList.value?.size ?: 0) return val requestMap = hashMapOf() getAttentionCacheVideoIds().flatMap { - requestMap["cache_video_ids"] = it + if (page != 1) { + requestMap["cache_video_ids"] = it + } val body = requestMap.createRequestBodyAny() RetrofitManager.getInstance(getApplication()) .api.getAttentionVideoStream(UserManager.getInstance().userId, body, page) - }.subscribeOn(Schedulers.io()) + } + .compose(singleToMain()) .subscribe(object : BiResponse>>() { override fun onSuccess(data: retrofit2.Response>) { val headers = data.headers()