diff --git a/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt index 6d3136f0b6..4777dd6605 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt @@ -49,7 +49,11 @@ class VideoAdapter(context: Context, ImageUtils.display(holder.binding.videoCover, entity.poster) holder.binding.videoLikeCount.text = entity.vote.toSimpleCount() holder.itemView.setOnClickListener { - DirectUtils.directToVideoDetail(mContext, entity.id, VideoDetailContainerViewModel.Location.USER_FAVORITE_VIDEO.value, false, path = getPath()) + if (mVideoStyle == VideoFragment.VideoStyle.COLLECT.value) { + DirectUtils.directToVideoDetail(mContext, entity.id, VideoDetailContainerViewModel.Location.USER_FAVORITE_VIDEO.value, false, path = getPath()) + } else { + DirectUtils.directToVideoDetail(mContext, entity.id, VideoDetailContainerViewModel.Location.SINGLE_VIDEO.value, false, path = getPath()) + } } } else if (holder is FooterViewHolder) { holder.initFooterViewHolder(mViewModel, mIsLoading, mIsNetworkError, mIsOver) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt index f5d6eacaf3..f7dcac99d5 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt @@ -1,5 +1,6 @@ package com.gh.gamecenter.gamedetail +import android.annotation.SuppressLint import android.app.Application import android.os.Build import androidx.lifecycle.AndroidViewModel @@ -12,7 +13,9 @@ import com.gh.common.util.ConcernUtils import com.gh.common.util.DataUtils import com.gh.gamecenter.entity.GameDetailEntity import com.gh.gamecenter.entity.GameEntity +import com.gh.gamecenter.entity.GameVideoInfo import com.gh.gamecenter.mvvm.Resource +import com.gh.gamecenter.retrofit.BiResponse import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager import io.reactivex.android.schedulers.AndroidSchedulers @@ -93,7 +96,8 @@ class GameDetailViewModel(application: Application, displayTopVideo = response.topVideo != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT - gameDetailLiveData.postValue(Resource.success(response)) + getGameVideoInfo(response) +// gameDetailLiveData.postValue(Resource.success(response)) } override fun onFailure(e: HttpException?) { @@ -102,6 +106,25 @@ class GameDetailViewModel(application: Application, }) } + + @SuppressLint("CheckResult") + private fun getGameVideoInfo(response: GameDetailEntity) { + mApi.getGameVideoInfo(game?.id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(object : BiResponse() { + override fun onSuccess(data: GameVideoInfo) { + response.introVideo?.videoCount = data.videoCount + gameDetailLiveData.postValue(Resource.success(response)) + } + + override fun onFailure(exception: Exception) { + gameDetailLiveData.postValue(Resource.success(response)) + } + }) + } + + fun concernCommand(isConcern: Boolean) { val listener = object : ConcernUtils.onConcernListener { override fun onSuccess() { diff --git a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoAdapter.kt index 6ab78e74e2..10929d322b 100644 --- a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoAdapter.kt @@ -20,7 +20,8 @@ import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel class GameVideoAdapter(context: Context, private val mViewModel: NormalListViewModel, private val mEntrance: String, - private val mSortValue: String?) : ListAdapter(context) { + private val mSortValue: String?, + val gameId:String) : ListAdapter(context) { override fun getItemViewType(position: Int): Int { if (position == itemCount - 1) return ItemViewType.ITEM_FOOTER @@ -62,7 +63,7 @@ class GameVideoAdapter(context: Context, fromLocation = VideoDetailContainerViewModel.Location.NEWEST_GAME_VIDEO.value path = "视频合集-最新" } - DirectUtils.directToVideoDetail(mContext, entity.id, fromLocation, false, gameId = entity.gameId, entrance = mEntrance, path = path) + DirectUtils.directToVideoDetail(mContext, entity.id, fromLocation, false, gameId = gameId, entrance = mEntrance, path = path) } } else if (holder is FooterViewHolder) { holder.initFooterViewHolder(mViewModel, mIsLoading, mIsNetworkError, mIsOver) diff --git a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt index e3fcaa3040..78487faf77 100644 --- a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt @@ -24,7 +24,8 @@ class GameVideoFragment : ListFragment