解决进入首页视频流未选中的tab页面播放视频
This commit is contained in:
@ -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 可见
|
||||
*/
|
||||
|
||||
@ -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<RecyclerView.ViewHolder>(), IExposable {
|
||||
var videoList = arrayListOf<VideoEntity>()
|
||||
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,
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user