diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt index c7dc3d4bda..8b560aff32 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/media/video/ads/AdMediaView.kt @@ -21,6 +21,7 @@ import com.mogo.och.biz.media.video.MediaLoopPlayView import com.mogo.och.biz.media.video.MediaPlayLogger import com.mogo.och.biz.media.video.ads.AdMediaViewModel.AdMediaViewCallback import com.mogo.och.common.module.biz.media.data.MediaItem +import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.skin.utils.SkinResources import com.mogo.skin.widget.SkinImageView import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder @@ -78,6 +79,11 @@ class AdMediaView : FrameLayout, AdMediaViewCallback { } override fun startPlayImage(mediaItem: MediaItem) { + BizLoopManager.runInMainThread { + myStartPlayImage(mediaItem) + } + } + private fun myStartPlayImage(mediaItem: MediaItem) { adVideoPlayer?.visibility = GONE imagePlayer?.visibility = VISIBLE imagePlayer?.also { @@ -114,6 +120,11 @@ class AdMediaView : FrameLayout, AdMediaViewCallback { } override fun startPlayVideo(mediaItem: MediaItem, playerCallback: GSYSampleCallBack) { + BizLoopManager.runInMainThread { + myStartPlayVideo(mediaItem, playerCallback) + } + } + private fun myStartPlayVideo(mediaItem: MediaItem, playerCallback: GSYSampleCallBack) { try { adVideoPlayer?.visibility = VISIBLE imagePlayer?.visibility = GONE @@ -151,6 +162,11 @@ class AdMediaView : FrameLayout, AdMediaViewCallback { } override fun startPlayStationVideo(stationMediaItem: MediaItem,adMediaItem:MediaItem?,playerCallback: GSYSampleCallBack) { + BizLoopManager.runInMainThread { + myStartPlayStationVideo(stationMediaItem, adMediaItem, playerCallback) + } + } + private fun myStartPlayStationVideo(stationMediaItem: MediaItem,adMediaItem:MediaItem?,playerCallback: GSYSampleCallBack) { try { if(adMediaItem?.isVideoType()==true&&adVideoPlayer?.playTag == adMediaItem.fileUrl){ adMediaItem.pausePosition = adVideoPlayer.currentPositionWhenPlaying @@ -188,11 +204,15 @@ class AdMediaView : FrameLayout, AdMediaViewCallback { } override fun pauseVideo() { - adVideoPlayer.onVideoPause() + BizLoopManager.runInMainThread { + adVideoPlayer.onVideoPause() + } } override fun resumeVideo() { - adVideoPlayer.onVideoResume() + BizLoopManager.runInMainThread { + adVideoPlayer.onVideoResume() + } } } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/download/DownloadManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/download/DownloadManager.kt index 5b7f66969c..c15d3c5536 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/download/DownloadManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/download/DownloadManager.kt @@ -140,7 +140,7 @@ object DownloadManager { override fun onProgress(url: String, downloaded: Long, total: Long) { first.listener?.onProgress(url,downloaded,total) - OchChainLogManager.writechainLogDownload("下载中","url:${url}_downloaded${downloaded}_total:${total}",upload = false) +// OchChainLogManager.writechainLogDownload("下载中","url:${url}_downloaded${downloaded}_total:${total}",upload = false) } override fun onFinished(url: String, path: String) { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt index bc64ffc729..54e85b7265 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt @@ -9,7 +9,6 @@ import androidx.annotation.RequiresApi import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -53,7 +52,6 @@ object LanSocketManager : LanSocketManagerJava() { @JvmStatic fun sendMsgToClient(msg: BaseDPMsg?) { val message = GsonUtils.toJson(msg) - CallerLogger.d(TAG, "sendMsgToClient: $message") OchChainLogManager.writeChainLogLanSocket("发送msg到各个端",message,"send") CallerTelematicManager.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, message.toByteArray()) } @@ -61,13 +59,11 @@ object LanSocketManager : LanSocketManagerJava() { @JvmStatic fun sendMsgToServer(msg: BaseDPMsg?) { val message = GsonUtils.toJson(msg) - CallerLogger.d(TAG, "sendMsgToServer:$message") OchChainLogManager.writeChainLogLanSocket("发送msg到服务端(司机)",message,"send") CallerTelematicManager.sendMsgToServer(OchCommonConst.BUSINESS_STRING, message.toByteArray()) } override fun onReceivedMsg(type: Int, byteArray: ByteArray) { - CallerLogger.d(TAG, "收到数据:_type:${type},byteArray:${String(byteArray)}"); OchChainLogManager.writeChainLogLanSocket("收到数据","type:${type},byteArray:${String(byteArray)}","receive"); super.onReceivedMsg(type, byteArray) } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java index 1e416bbe44..45539ae9ba 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java @@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManage import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.och.common.module.constant.OchCommonConst; import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg; +import com.mogo.och.common.module.manager.loop.BizLoopManager; import java.util.ArrayList; import java.util.List; @@ -54,24 +55,28 @@ public class LanSocketManagerJava implements IReceivedMsgListener { @Override public void onReceivedMsg(int type, @NonNull byte[] byteArray) { - if (OchCommonConst.BUSINESS_STRING == type) { - try { - BaseDPMsg baseMsg = GsonUtils.fromJson(new String(byteArray), BaseDPMsg.class); - if(baseMsg!=null){ - List iLanMessageListenerJavas = mListeners.get(baseMsg.getType()); - if(iLanMessageListenerJavas!=null){ - for (ILanMessageListener iLanMessageListenerJava : iLanMessageListenerJavas) { - Class target = iLanMessageListenerJava.targetLan(); - BaseDPMsg baseDPMsg = GsonUtils.fromJson(new String(byteArray), target); - iLanMessageListenerJava.onLanMsgReceived(baseDPMsg); + BizLoopManager.INSTANCE.runInIoThread(new Runnable() { + @Override + public void run() { + if (OchCommonConst.BUSINESS_STRING == type) { + try { + BaseDPMsg baseMsg = GsonUtils.fromJson(new String(byteArray), BaseDPMsg.class); + if(baseMsg!=null){ + List iLanMessageListenerJavas = mListeners.get(baseMsg.getType()); + if(iLanMessageListenerJavas!=null){ + for (ILanMessageListener iLanMessageListenerJava : iLanMessageListenerJavas) { + Class target = iLanMessageListenerJava.targetLan(); + BaseDPMsg baseDPMsg = GsonUtils.fromJson(new String(byteArray), target); + iLanMessageListenerJava.onLanMsgReceived(baseDPMsg); + } + } } + } catch (Exception e) { + e.printStackTrace(); } } - }catch (Exception e){ - e.printStackTrace(); - } - - } + } + }); } @Override diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt index 5d9b332c1f..bc01981b9c 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/PM2DrivingInfoFragment.kt @@ -74,6 +74,7 @@ class PM2DrivingInfoFragment : emptyView.visibility = View.VISIBLE arriveView.visibility = View.GONE lineView.visibility = View.GONE + lineView.clear() }else{ if(isArrived&&i!=0){ emptyView.visibility = View.GONE diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt index 138dbe7710..1bdf51637e 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/LineView.kt @@ -88,5 +88,8 @@ class LineView : ConstraintLayout, LineViewModel.LineViewCallback { } } + fun clear(){ + mAdapter.clear() + } } \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt index 50a2d41441..b703ca71ce 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/lineinfo/item/StationAdapter.kt @@ -9,15 +9,16 @@ import com.mogo.och.shuttle.weaknet.passenger.R class StationAdapter : ListAdapter(MessageDiffCallback()) { var currentIndex = 0 - var isLeaving = false - var showPassOmit = false - var showFuluterOmit = false + var distanceAndTime = "" override fun submitList(list: MutableList?) { val newDataList = mutableListOf() + var isLeaving = false list?.let { + var showPassOmit = false + var showFuluterOmit = false it.forEachIndexed { index, busStationBean -> if (busStationBean.drivingStatus == 2) { currentIndex = index @@ -166,13 +167,23 @@ class StationAdapter : ListAdapter(MessageDif } } + fun clear() { + super.submitList(null) + currentIndex = 0 + distanceAndTime = "" + } + + + override fun onViewRecycled(holder: StationViewHolder) { super.onViewRecycled(holder) holder.viewRecycled(holder) } fun notifyDistanceAndTime(distance: String, time: String) { - distanceAndTime = "${distance}·${time}" - notifyItemChanged(currentIndex) + if (currentList.isNotEmpty() && currentIndex < itemCount) { + distanceAndTime = "${distance}·${time}" + notifyItemChanged(currentIndex) + } } }