[M2] 处理线程问题
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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(){
|
||||
|
||||
Reference in New Issue
Block a user