diff --git a/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java b/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java index c06d51c..0c45b7e 100644 --- a/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java +++ b/app/src/main/java/com/ik/mboxlauncher/ui/ADSWindowManager.java @@ -36,8 +36,8 @@ public class ADSWindowManager implements HomeMultiView.MultiViewListener{ /**是否开启播放模式*/ private boolean isPlayMode=false; - - + //防止所有视频广告位都无法播放 进入startVideo()死循环 + private boolean hasOncePlayOk; private ADSWindowManager(Context context){ this.mContext =context; mHandler=new MyHandler(Looper.getMainLooper()); @@ -66,7 +66,7 @@ public class ADSWindowManager implements HomeMultiView.MultiViewListener{ for (MultiView multiView:mMultiViewList){ multiView.setMultiViewListener(this); } - + if(hasOncePlayOk) hasOncePlayOk=false; } public void startVideo(){ isPlayMode =true; @@ -121,19 +121,24 @@ public class ADSWindowManager implements HomeMultiView.MultiViewListener{ if(multiView instanceof AdMultiView){ LogUtils.loge(" ad playing id:" + adInfo.getId()); multiView.onVideoRestart(adInfo.getLocalFilePath()); + hasOncePlayOk=true; return; } File file = new File(adInfo.getLocalFilePath()); if (file.isFile() && file.exists()) { LogUtils.loge(" ad playing id:" + adInfo.getId()); multiView.onVideoRestart(adInfo.getLocalFilePath()); + hasOncePlayOk=true; return; } } }catch (Exception e){ e.printStackTrace(); LogUtils.loge("error file is not exists:"+adInfo.getLocalFilePath()); - + if(mMultiViewList.size()-1==currentADIndex&&!hasOncePlayOk){ + hasOncePlayOk=false; + return; + } } currentADIndex++; if (currentADIndex >= mMultiViewList.size()) { //所有文件都不存在,跳出循环,都不播放 diff --git a/app/src/main/res/layout/ad_multi_layout.xml b/app/src/main/res/layout/ad_multi_layout.xml new file mode 100644 index 0000000..dd02c99 --- /dev/null +++ b/app/src/main/res/layout/ad_multi_layout.xml @@ -0,0 +1,35 @@ + + + + + + + + + diff --git a/mylibrary/src/main/java/com/android/download/DownLoadTaskThread.java b/mylibrary/src/main/java/com/android/download/DownLoadTaskThread.java index 6b57ec5..c5338bf 100644 --- a/mylibrary/src/main/java/com/android/download/DownLoadTaskThread.java +++ b/mylibrary/src/main/java/com/android/download/DownLoadTaskThread.java @@ -129,6 +129,7 @@ public class DownLoadTaskThread implements Runnable { } catch (Exception e) { e.printStackTrace(); LogUtils.loge("download Exception===>"+e.getMessage()); + // TODO: 2025/12/17 异常检验-tmp是否存在,不存在再建一个0KB临时空文件可保证 文件以后一定能下载下来 if (observer != null) { observer.onError(bean, bean.getTaskId(), e.getMessage()); }