From f53c8377e6eb6917b00acbf02a0cc536faba2b94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Fri, 10 Jan 2020 22:30:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=86=E9=A2=91=E6=B5=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9B=B8=E5=85=B3=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/collection/VideoAdapter.kt | 6 ++++- .../gamedetail/GameDetailViewModel.kt | 25 ++++++++++++++++++- .../gamecenter/video/game/GameVideoAdapter.kt | 5 ++-- .../video/game/GameVideoFragment.kt | 3 ++- 4 files changed, 34 insertions(+), 5 deletions(-) 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