修改sentry上的bug (4820/4822/4952)

This commit is contained in:
张玉久
2020-11-25 16:17:15 +08:00
parent 5256a9b267
commit aadbbbf2ea
4 changed files with 39 additions and 17 deletions

View File

@ -9,6 +9,7 @@ import android.widget.LinearLayout
import android.widget.RelativeLayout
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.fragment.app.FragmentTransaction
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.gh.base.BaseRecyclerViewHolder
@ -263,11 +264,19 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
var dialogFragment = activity.supportFragmentManager.findFragmentByTag(PackageCheckDialogFragment::class.java.simpleName) as? PackageCheckDialogFragment
if (dialogFragment == null) {
dialogFragment = PackageCheckDialogFragment()
}
dialogFragment.packageDialogEntity = packageDialogEntity
dialogFragment.callBack = callBack
dialogFragment.packageDialogEntity = packageDialogEntity
dialogFragment.callBack = callBack
dialogFragment.show(activity.supportFragmentManager, PackageCheckDialogFragment::class.java.simpleName)
} else {
dialogFragment.packageDialogEntity = packageDialogEntity
dialogFragment.callBack = callBack
val transaction: FragmentTransaction = activity.supportFragmentManager.beginTransaction()
transaction.show(dialogFragment)
transaction.commit()
}
dialogFragment.show(activity.supportFragmentManager, PackageCheckDialogFragment::class.java.simpleName)
}
fun isAllPackageInstalled(packageDialogEntity: PackageDialogEntity): Boolean {

View File

@ -9,6 +9,7 @@ import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.gh.base.BaseActivity
import com.gh.common.constant.Config
import com.gh.common.constant.Constants
@ -39,7 +40,7 @@ import com.squareup.picasso.Picasso
import kotlinx.android.synthetic.main.layout_video_detail_surface.view.*
import java.util.*
class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val mViewModel: VideoDetailContainerViewModel)
class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val refreshLayout: SwipeRefreshLayout, val mViewModel: VideoDetailContainerViewModel)
: RecyclerView.Adapter<RecyclerView.ViewHolder>(), IExposable {
var videoList = arrayListOf<VideoEntity>()
var isVisible = false//fragment是否可见
@ -86,6 +87,7 @@ class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val m
videoView.updateThumb(videoList[position].getThumb())
videoView.updateMuteStatus()
videoView.fullscreenButton.setOnClickListener {
if (refreshLayout.isRefreshing) return@setOnClickListener
if (mOrientationUtils.isLand == 0) {
videoView.recordMta("进入全屏")
MtaHelper.onEvent("视频详情", "进入全屏", "${videoList[position].title}${videoList[position].id}")
@ -93,14 +95,14 @@ class VideoAdapter(val mContext: Context, val mRecyclerView: RecyclerView, val m
}
videoView.hideAllButton(true)
mOrientationUtils.resolveByClick()
val fullVideoPlayer = videoView.startWindowFullscreen(mContext, true, true) as DetailPlayerView
fullVideoPlayer.observeVolume(mContext as AppCompatActivity)
fullVideoPlayer.setViewModel(mViewModel)
fullVideoPlayer.hideAllButton(true)
fullVideoPlayer.updateViewDetail(videoList[position])
fullVideoPlayer.updateMuteStatus()
val fullVideoPlayer = videoView.startWindowFullscreen(mContext, true, true) as? DetailPlayerView
fullVideoPlayer?.observeVolume(mContext as AppCompatActivity)
fullVideoPlayer?.setViewModel(mViewModel)
fullVideoPlayer?.hideAllButton(true)
fullVideoPlayer?.updateViewDetail(videoList[position])
fullVideoPlayer?.updateMuteStatus()
//金进入全屏后直接播放
if (fullVideoPlayer.currentState == GSYVideoView.CURRENT_STATE_PAUSE) {
if (fullVideoPlayer?.currentState == GSYVideoView.CURRENT_STATE_PAUSE) {
fullVideoPlayer.setCurrentPosition(videoView.getCurrentPosition())
fullVideoPlayer.onVideoResume()
}

View File

@ -120,7 +120,7 @@ class VideoDetailContainerFragment : BaseLazyFragment(), OnBackPressedListener {
mViewModel.videoList.observeNonNull(this) {
hideNetworkErrorView()
if (!::mAdapter.isInitialized) {
mAdapter = VideoAdapter(requireContext(), recyclerview, mViewModel)
mAdapter = VideoAdapter(requireContext(), recyclerview, refresh, mViewModel)
mExposureListener = ExposureListener(this, mAdapter)
recyclerview.addOnScrollListener(mExposureListener!!)
recyclerview.adapter = mAdapter
@ -188,8 +188,8 @@ class VideoDetailContainerFragment : BaseLazyFragment(), OnBackPressedListener {
mViewModel.followVideoInfo.observeNonNull(this) {
updateAllFollowDatas(it.user.id ?: "", it.me.isFollower)
}
mViewModel.refreshFinish.observeNonNull(this){
if (it){
mViewModel.refreshFinish.observeNonNull(this) {
if (it) {
refresh.isRefreshing = false
}
}

View File

@ -178,10 +178,21 @@ class VideoDetailContainerViewModel(application: Application) : AndroidViewModel
}
page++
//下拉刷新清除列表数据
if (!isLoadNext) {
// if (!isLoadNext) {
// videoList.value?.clear()
// }
// mergeVideoList(data, isLoadNext)
if (isLoadNext) {
mergeVideoList(data, isLoadNext)
} else if (!isLoadNext && mRecyclerViewRef?.get()?.computeVerticalScrollOffset() == 0) {
//下拉刷新并且列表没有滚动清除列表数据,数据发生变化
videoList.value?.clear()
mergeVideoList(data, isLoadNext)
} else {
//下拉刷新并且列表滚动中关闭下拉刷新动画,数据不变
refreshFinish.postValue(true)
}
mergeVideoList(data, isLoadNext)
mIsFirstLoad = false
}