From 1d29d68aa2536ea664a94d437ee701130d515781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Thu, 19 Mar 2020 15:23:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=BF=9B=E5=85=A5=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E8=A7=86=E9=A2=91=E6=B5=81=E6=9C=AA=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=9A=84tab=E9=A1=B5=E9=9D=A2=E6=92=AD=E6=94=BE=E8=A7=86?= =?UTF-8?q?=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/base/fragment/BaseLazyFragment.kt | 4 ++-- .../com/gh/gamecenter/video/detail/VideoAdapter.kt | 10 +++++----- .../video/detail/VideoDetailContainerFragment.kt | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/gh/base/fragment/BaseLazyFragment.kt b/app/src/main/java/com/gh/base/fragment/BaseLazyFragment.kt index 2aeb8df957..3b6ac11633 100644 --- a/app/src/main/java/com/gh/base/fragment/BaseLazyFragment.kt +++ b/app/src/main/java/com/gh/base/fragment/BaseLazyFragment.kt @@ -12,10 +12,10 @@ abstract class BaseLazyFragment : NormalFragment() { private var isViewCreated = false - private var isSupportVisible = false + protected var isSupportVisible = false /** - * 用于分发可见时间的时候父获取 fragment 是否隐藏 + * 用于分发可见时间的时候获取 父fragment 是否隐藏 * * @return true fragment 不可见, false 父 fragment 可见 */ diff --git a/app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt index 4840e3f2a0..7171911495 100644 --- a/app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt @@ -9,7 +9,6 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView -import anet.channel.util.Utils.context import com.gh.base.BaseActivity import com.gh.common.constant.Config import com.gh.common.constant.Constants @@ -41,6 +40,7 @@ import java.util.* class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val mViewModel: VideoDetailContainerViewModel) : RecyclerView.Adapter(), IExposable { var videoList = arrayListOf() + var isVisible = false//fragment是否可见 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { val params = RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.MATCH_PARENT) @@ -107,15 +107,15 @@ class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val m videoView.isNeedShowWifiTip = HaloApp.get(Constants.SHOULD_SHOW_VIDEO_MOBILE_WARNING, false) as Boolean? ?: false - if (position == mViewModel.startPosition) { + if (position == mViewModel.startPosition && isVisible) { if (position + 2 <= videoList.size - 1) {//预加载视频 ExoCacheManager.preload(videoList[position + 1].url) ExoCacheManager.preload(videoList[position + 2].url) - Picasso.with(context).load(videoList[position + 1].getThumb()).fetch() - Picasso.with(context).load(videoList[position + 2].getThumb()).fetch() + Picasso.with(mContext).load(videoList[position + 1].getThumb()).fetch() + Picasso.with(mContext).load(videoList[position + 2].getThumb()).fetch() } else if (position + 1 <= videoList.size - 1) { ExoCacheManager.preload(videoList[position + 1].url) - Picasso.with(context).load(videoList[position + 1].getThumb()).fetch() + Picasso.with(mContext).load(videoList[position + 1].getThumb()).fetch() } videoView.startButton.performClick() LogUtils.uploadVideoStreamingPlaying("开始播放-入口进入", "", mViewModel.path, 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 807130ec0a..38abfc4cb0 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 @@ -150,6 +150,7 @@ class VideoDetailContainerFragment : BaseLazyFragment(), OnBackPressedListener { mAdapter.videoList = it if (mIsFirstIn) { + mAdapter.isVisible = isSupportVisible mViewModel.currentDisplayingVideo = it[mViewModel.startPosition] recyclerview.scrollToPosition(mViewModel.startPosition) mIsFirstIn = false