[M2] 处理线程问题

This commit is contained in:
wangmingjun
2023-03-02 15:35:08 +08:00
parent 0b862f6363
commit 8ebc0268e0
2 changed files with 20 additions and 41 deletions

View File

@@ -5,7 +5,10 @@ import android.view.View
import android.view.ViewGroup
import androidx.viewpager.widget.PagerAdapter
import androidx.viewpager.widget.ViewPager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.CountDownTimer
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
/**
@@ -26,7 +29,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
private var current = 0
private val time = 5000
private var pause = false
private var thread: Thread? = null
private var countDownTimer: CountDownTimer? = null
fun setData(list: MutableList<RotationItem>) {
if (list.isEmpty()) return
@@ -174,34 +177,21 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter
}
private fun startTimer() {
if (null != thread && !thread?.isInterrupted!!) {
Logger.d(ImageAndVideoRotation.TAG, "thread.interrupt()")
thread?.interrupt()
thread = null
if (countDownTimer != null){
countDownTimer?.cancel()
countDownTimer = null
}
thread = Thread {
while (null != thread && !thread?.isInterrupted!!) {
try {
Logger.d(ImageAndVideoRotation.TAG, "sleep")
Thread.sleep(1000)
if (viewList[mViewPager.currentItem] is AdvanceImageView) {
Logger.d(ImageAndVideoRotation.TAG, "增加1s")
current += 1000
}else{
break
}
if (current >= time) {
Logger.d(ImageAndVideoRotation.TAG, "5s到跳转")
goNextItemView()
current = 0
break
}
} catch (e: InterruptedException) {
e.printStackTrace()
}
countDownTimer = object : CountDownTimer(5000,1000){
override fun onTick(millisUntilFinished: Long) {
d(SceneConstant.M_BUS_P + "startTimer", "倒计时秒 = ${millisUntilFinished/1000}" )
}
}
thread?.start()
override fun onFinish() {
d(ImageAndVideoRotation.TAG+ "startTimer", "5s到跳转")
goNextItemView()
}
}.start()
}
/**

View File

@@ -14,6 +14,7 @@ import com.mogo.eagle.core.utilcode.breakpoint.utils.DownloadUtils
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.BitmapHelper
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.ThreadPoolService
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.bus.passenger.R
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
@@ -87,7 +88,7 @@ class AdvanceVideoView @JvmOverloads constructor(
// BitmapHelper.getVideoThumbnail(path) /*获取第一帧图*/
cacheImage?.setImageResource(R.drawable.m2_p_video_holder)
setCacheImageViewVisible()
Thread {
ThreadPoolService.execute {
var bitmap = BitmapHelper.getVideoThumbnail(fileNetPath)
Logger.d(ImageAndVideoRotation.TAG, "setVideoPath")
ThreadUtils.runOnUiThread {
@@ -103,19 +104,7 @@ class AdvanceVideoView @JvmOverloads constructor(
.into(it)
}
}
}.start()
// Logger.d(ImageAndVideoRotation.TAG, "bitmap加载")
// cacheImage?.let {
// Glide.with(context).load(cacheImageUrl)
// .apply(
// RequestOptions().placeholder(R.drawable.m2_p_video_holder)
// .error(R.drawable.m2_p_video_holder)
// .fallback(R.drawable.m2_p_video_holder)
// .centerCrop()
// )
// .into(it)
// }
// videoViewPlayer?.thumbImageView = cacheImage
}
}
fun clearLocalErrorVideo(){