光环助手V5.0.0-新社区展示功能(0630 运营测试问题 2)https://git.ghzs.com/pm/halo-app-issues/-/issues/1253#note_106346
This commit is contained in:
@ -161,14 +161,7 @@ class ForumArticleAskListFragment : ListFragment<AnswerEntity, ForumArticleAskLi
|
||||
//这里必须要延迟操作,否则会白屏
|
||||
mBaseHandler.postDelayed({
|
||||
if (position != 0L) {
|
||||
currentPlayer?.seekTo(position)
|
||||
currentPlayer?.onVideoResume(false)
|
||||
val videoVoiceStatus = SPUtils.getBoolean(Constants.SP_VIDEO_PLAY_MUTE, true)
|
||||
if (videoVoiceStatus) {
|
||||
currentPlayer?.mute()
|
||||
} else {
|
||||
currentPlayer?.unMute()
|
||||
}
|
||||
currentPlayer?.startPlayLogic(true)
|
||||
} else {
|
||||
currentPlayer?.release()
|
||||
}
|
||||
|
||||
@ -67,10 +67,10 @@ class ArticleItemVideoView @JvmOverloads constructor(context: Context, attrs: At
|
||||
|
||||
fun startPlayLogic(isAutoPlay: Boolean) {
|
||||
mIsAutoPlay = isAutoPlay
|
||||
// if (mIsAutoPlay) {
|
||||
// val seekTime = ForumScrollCalculatorHelper.getPlaySchedule(MD5Utils.getContentMD5(mVideoEntity?.url))
|
||||
// seekOnStart = seekTime
|
||||
// }
|
||||
if (mIsAutoPlay) {
|
||||
val seekTime = ForumScrollCalculatorHelper.getPlaySchedule(MD5Utils.getContentMD5(mVideoEntity?.url))
|
||||
seekOnStart = seekTime
|
||||
}
|
||||
startPlayLogic()
|
||||
}
|
||||
|
||||
|
||||
@ -222,14 +222,7 @@ class ForumArticleListFragment : LazyListFragment<ArticleEntity, ForumArticleLis
|
||||
//这里必须要延迟操作,否则会白屏
|
||||
mBaseHandler.postDelayed({
|
||||
if (position != 0L) {
|
||||
currentPlayer?.seekTo(position)
|
||||
currentPlayer?.onVideoResume(false)
|
||||
val videoVoiceStatus = SPUtils.getBoolean(Constants.SP_VIDEO_PLAY_MUTE, true)
|
||||
if (videoVoiceStatus) {
|
||||
currentPlayer?.mute()
|
||||
} else {
|
||||
currentPlayer?.unMute()
|
||||
}
|
||||
currentPlayer?.startPlayLogic(true)
|
||||
} else {
|
||||
currentPlayer?.release()
|
||||
}
|
||||
|
||||
@ -19,8 +19,7 @@ import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer
|
||||
|
||||
class ForumScrollCalculatorHelper(private val horizontalId: Int,
|
||||
private val verticalId: Int,
|
||||
private val rangeTop: Int,
|
||||
private val isUserHomePage: Boolean = false) {
|
||||
private val rangeTop: Int) {
|
||||
private var firstVisible = -1
|
||||
private var lastVisible = 0
|
||||
private var visibleCount = 0
|
||||
@ -128,16 +127,13 @@ class ForumScrollCalculatorHelper(private val horizontalId: Int,
|
||||
gsyBaseVideoPlayer.getLocationInWindow(screenPosition)
|
||||
val rangePosition = screenPosition[1]
|
||||
if (rangePosition >= rangeTop) {
|
||||
runnable = PlayRunnable(gsyBaseVideoPlayer)
|
||||
if (currentPlayer != null) {
|
||||
CustomManager.releaseAllVideos(currentPlayer?.getKey())
|
||||
// currentPlayer?.resetDetailMask()
|
||||
}
|
||||
currentPlayer = gsyBaseVideoPlayer
|
||||
currentPosition = i
|
||||
|
||||
if (isUserHomePage) break
|
||||
|
||||
runnable = PlayRunnable(gsyBaseVideoPlayer)
|
||||
//降低频率
|
||||
playHandler.postDelayed(runnable!!, 100)
|
||||
break
|
||||
|
||||
@ -14,6 +14,7 @@ import android.widget.TextView
|
||||
import androidx.constraintlayout.widget.ConstraintSet
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.Observer
|
||||
import butterknife.OnClick
|
||||
import com.gh.base.adapter.FragmentAdapter
|
||||
@ -57,6 +58,7 @@ class UserHomeFragment : NormalFragment() {
|
||||
private lateinit var mPopupWindow: PopupWindow
|
||||
private var mBadgeCount = 0
|
||||
private var mPlayGameCount = 0
|
||||
private var mFragmentList = listOf<Fragment>()
|
||||
|
||||
override fun getInflatedLayout(): View {
|
||||
mHomeBinding = DataBindingUtil.inflate(requireActivity().layoutInflater, R.layout.fragment_home, null, false)
|
||||
@ -308,13 +310,16 @@ class UserHomeFragment : NormalFragment() {
|
||||
// val videoFragment = childFragmentManager.findFragmentByTag("${tag}2")
|
||||
// ?: UserVideoHistoryFragment.getInstance(mUserHomeViewModel.userId, count)
|
||||
|
||||
val fragmentList = listOf(gameFragment, qaFragment)
|
||||
mFragmentList = listOf(gameFragment, qaFragment)
|
||||
val titleList = listOf("游戏", "发布")
|
||||
|
||||
viewpager.offscreenPageLimit = fragmentList.size
|
||||
viewpager.adapter = FragmentAdapter(childFragmentManager, fragmentList, titleList)
|
||||
viewpager.offscreenPageLimit = mFragmentList.size
|
||||
viewpager.adapter = FragmentAdapter(childFragmentManager, mFragmentList, titleList)
|
||||
viewpager.currentItem = position
|
||||
viewpager.doOnPageSelected { MtaHelper.onEvent("个人主页详情", "个人主页详情", titleList[it]) }
|
||||
viewpager.doOnPageSelected {
|
||||
MtaHelper.onEvent("个人主页详情", "个人主页详情", titleList[it])
|
||||
if (it == 1) (mFragmentList[1] as UserHistoryFragment).onScrollStateChanged()
|
||||
}
|
||||
tabLayout.setupWithViewPager(viewpager)
|
||||
tabIndicator.setupWithTabLayout(tabLayout)
|
||||
tabIndicator.setupWithViewPager(viewpager)
|
||||
|
||||
@ -53,7 +53,7 @@ class UserHistoryFragment : ListFragment<PersonalHistoryEntity, UserHistoryViewM
|
||||
mCount = getParcelable(COUNT) ?: PersonalEntity.Count()
|
||||
}
|
||||
super.onCreate(savedInstanceState)
|
||||
mScrollCalculatorHelper = ForumScrollCalculatorHelper(R.id.horizontalVideoView, R.id.verticalVideoView, 0, true)
|
||||
mScrollCalculatorHelper = ForumScrollCalculatorHelper(R.id.horizontalVideoView, R.id.verticalVideoView, 0)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
@ -87,6 +87,10 @@ class UserHistoryFragment : ListFragment<PersonalHistoryEntity, UserHistoryViewM
|
||||
mScrollCalculatorHelper?.currentPlayer?.release()
|
||||
}
|
||||
|
||||
fun onScrollStateChanged() {
|
||||
mScrollCalculatorHelper?.onScrollStateChanged(mListRv, RecyclerView.SCROLL_STATE_IDLE)
|
||||
}
|
||||
|
||||
private fun scroll() {
|
||||
val firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition()
|
||||
val lastVisibleItem = mLayoutManager.findLastVisibleItemPosition()
|
||||
@ -102,18 +106,10 @@ class UserHistoryFragment : ListFragment<PersonalHistoryEntity, UserHistoryViewM
|
||||
//这里必须要延迟操作,否则会白屏
|
||||
mBaseHandler.postDelayed({
|
||||
if (position != 0L) {
|
||||
currentPlayer?.seekTo(position)
|
||||
currentPlayer?.onVideoResume(false)
|
||||
val videoVoiceStatus = SPUtils.getBoolean(Constants.SP_VIDEO_PLAY_MUTE, true)
|
||||
if (videoVoiceStatus) {
|
||||
currentPlayer?.mute()
|
||||
} else {
|
||||
currentPlayer?.unMute()
|
||||
}
|
||||
currentPlayer?.startPlayLogic(true)
|
||||
} else {
|
||||
currentPlayer?.release()
|
||||
}
|
||||
|
||||
}, 50)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user