diff --git a/app/build.gradle b/app/build.gradle index cc917ad..acbb064 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,17 +12,10 @@ android { minSdkVersion 24 targetSdkVersion 30 versionCode 6 - versionName "V2.0.8.28" - // 2.0.8.2 修改网络连接证书设置、定时开关机设置 - // 2.0.8.3 获取mac修改 - // V2.0.8.5 同屏优化 - // 2.0.8.6 视频播放器切换 - // 2.0.8.12 固件更新 - //V2.0.8.14 和义大道开机5分钟后重启应用 - //V2.0.8.15 增加数字人视频模型 - //V2.0.8.20 修改无SDK的mac获取和APP更新 + versionName "V2.0.8.30" //V2.0.8.22 删除ai背景视频切换代码 //V2.0.8.23 节目切换图片覆盖问题 + //V2.0.8.30 4个视频 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles 'consumer-rules.pro' diff --git a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java index 47972f3..37ff3fc 100644 --- a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java @@ -120,19 +120,20 @@ public class WebViewActivity extends BaseActivity { //static String HtmlUrl = "http://192.168.0.106:5173/";//webServer服务地址 //static String HtmlUrl = "https://iot.1000my.com/api/application-unzip-path/v1/static/77b853bf-a43a-47ba-bc0c-0160229b6ca2/index.html?projectCode=project-ce-k6xi8vq_deqrszdepga&code=Sn9tXh8jMLd4GjfiVdInl#/"; int time = 0; - String interfaceRequestData=""; + // 已废弃:结果现在通过 Message.obj 传递,不再使用共享字段 + // String interfaceRequestData=""; private long resumeTimeMs = 0; private static final long GO_SCREEN_SAVE_MIN_INTERVAL = 10000; // 页面加载后至少10秒才允许进入屏保 private boolean webViewAlreadyDestroyed = false; // 语音听写对象 - private AICloudASREngine mEngine; - private AICloudASRIntent aiCloudASRIntent; + private volatile AICloudASREngine mEngine; + private volatile AICloudASRIntent aiCloudASRIntent; private TTSUtil ttsUtil; private String oldString=""; // 语音听写对象 private ASR mAsr; - private boolean isrun = false; // 是否正在听写 + private volatile boolean isrun = false; // 是否正在听写 private KDXFUtil kxdfttsUtil; private final InnerHandler handler = new InnerHandler(this); @@ -196,8 +197,11 @@ public class WebViewActivity extends BaseActivity { break; case TYPE_SHENG_HTML_MAG: - activity.getHandWriting(activity.interfaceRequestData); - activity.interfaceRequestData = ""; + // 结果通过 msg.obj 传入,避免多次并发请求覆盖共享字段 + String handWritingData = (String) msg.obj; + if (handWritingData != null) { + activity.getHandWriting(handWritingData); + } DeviceData.saveInterfaceRequest(""); break; } @@ -282,47 +286,28 @@ public class WebViewActivity extends BaseActivity { webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } - wv.setWebViewClient(new WebViewClient() { - @RequiresApi(api = Build.VERSION_CODES.O) - @Override - public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail) { - LoggerUtil.e("WebViewCrash", "WebView 渲染进程崩溃,OOM被杀: " + !detail.didCrash()); - webViewAlreadyDestroyed = true; - try { - if (view != null) { - ViewGroup parent = (ViewGroup) view.getParent(); - if (parent != null) parent.removeView(view); - view.stopLoading(); - view.loadUrl("about:blank"); - view.clearHistory(); - view.clearCache(true); - view.removeAllViews(); - view.destroy(); - } - } catch (Exception e) { - LoggerUtil.e("WebViewCrash", e.toString()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + wv.setWebViewClient(new CrashAwareWebViewClient()); + } else { + wv.setWebViewClient(new WebViewClient() { + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { + return super.shouldInterceptRequest(view, request); } - ProcessPhoenix.triggerRebirth(WebViewActivity.this); - return true; - } - @Override - public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { - return super.shouldInterceptRequest(view, request); - } - - @Override - @TargetApi(Build.VERSION_CODES.N) - public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { - return false; - } + @Override + @TargetApi(Build.VERSION_CODES.N) + public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { + return false; + } - @Override - @SuppressWarnings("deprecation") - public boolean shouldOverrideUrlLoading(WebView view, String url) { - return false; - } - }); + @Override + @SuppressWarnings("deprecation") + public boolean shouldOverrideUrlLoading(WebView view, String url) { + return false; + } + }); + } wv.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cm) { @@ -576,6 +561,7 @@ public class WebViewActivity extends BaseActivity { @JavascriptInterface public void startTTS(String content) { LoggerUtil.e(TAG,"JS调用了Android的方法:startTTS()"); + if (content == null || content.isEmpty()) return; if("sbc".equals(Constant.TTSHome)){ if (ttsUtil == null) return; ttsUtil.startTTs(content.toLowerCase(Locale.ENGLISH)); @@ -614,9 +600,11 @@ public class WebViewActivity extends BaseActivity { DeviceData.queryOfflineDataByInterfaceToPost(WebViewActivity.this, url, map, new QueryFinishListener() { @Override public void onFinish() { - if(state){ - interfaceRequestData = DeviceData.getInterfaceRequestData(); - handler.sendEmptyMessage(TYPE_SHENG_HTML_MAG); + if (state) { + // 结果随 Message 传递,避免并发请求覆盖同一个共享字段 + Message msg = handler.obtainMessage(TYPE_SHENG_HTML_MAG); + msg.obj = DeviceData.getInterfaceRequestData(); + handler.sendMessage(msg); } } }); @@ -625,17 +613,16 @@ public class WebViewActivity extends BaseActivity { // h5调用android:接口请求get @JavascriptInterface public void interfaceRequest(String url , boolean state) { - DeviceData.queryOfflineDataByInterfaceToGet(WebViewActivity.this, url, new QueryFinishListener() { @Override public void onFinish() { - if(state){ - interfaceRequestData = DeviceData.getInterfaceRequestData(); - handler.sendEmptyMessage(TYPE_SHENG_HTML_MAG); + if (state) { + Message msg = handler.obtainMessage(TYPE_SHENG_HTML_MAG); + msg.obj = DeviceData.getInterfaceRequestData(); + handler.sendMessage(msg); } } }); -// LoggerUtil.e(TAG,"JS调用了Android的方法:interfaceRequest2():"+url); } @@ -673,14 +660,15 @@ public class WebViewActivity extends BaseActivity { * android调用js:传送识别语音内容 * */ public void voiceContent(String msg) { - if (webView != null) { - LoggerUtil.e(TAG, "android调用js方法:giveAskText(),语音内容:" + msg); - runOnUiThread(() -> { - if (webView != null) { - webView.loadUrl(StringUtil.strSplice("javascript:window.giveAskText('" + msg + "');")); - } - }); - } + if (webView == null) return; + LoggerUtil.e(TAG, "android调用js方法:giveAskText(),语音内容:" + msg); + // evaluateJavascript + JSONObject.quote 避免 msg 含单引号/反斜杠时 JS 语法崩溃 + String jsArg = org.json.JSONObject.quote(msg != null ? msg : ""); + runOnUiThread(() -> { + if (webView != null) { + webView.evaluateJavascript("window.giveAskText(" + jsArg + ");", null); + } + }); } /** @@ -940,4 +928,46 @@ public class WebViewActivity extends BaseActivity { }); } }; + + @RequiresApi(api = Build.VERSION_CODES.O) + private class CrashAwareWebViewClient extends WebViewClient { + @Override + public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail) { + LoggerUtil.e("WebViewCrash", "WebView 渲染进程崩溃,OOM被杀: " + !detail.didCrash()); + webViewAlreadyDestroyed = true; + try { + if (view != null) { + ViewGroup parent = (ViewGroup) view.getParent(); + if (parent != null) parent.removeView(view); + view.stopLoading(); + view.loadUrl("about:blank"); + view.clearHistory(); + view.clearCache(true); + view.removeAllViews(); + view.destroy(); + } + } catch (Exception e) { + LoggerUtil.e("WebViewCrash", e.toString()); + } + ProcessPhoenix.triggerRebirth(WebViewActivity.this); + return true; + } + + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { + return super.shouldInterceptRequest(view, request); + } + + @Override + @TargetApi(Build.VERSION_CODES.N) + public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { + return false; + } + + @Override + @SuppressWarnings("deprecation") + public boolean shouldOverrideUrlLoading(WebView view, String url) { + return false; + } + } } diff --git a/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java b/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java index 7e923e7..f253449 100644 --- a/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java +++ b/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java @@ -40,7 +40,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.airbnb.lottie.LottieAnimationView; -import com.aispeech.gourd.util.LogUtil; import com.alibaba.android.arouter.launcher.ARouter; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; @@ -50,18 +49,7 @@ import com.google.gson.reflect.TypeToken; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; -import org.greenrobot.eventbus.EventBus; -import org.jetbrains.annotations.NotNull; - import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.lang.ref.WeakReference; -import java.net.MalformedURLException; -import java.net.URL; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -72,11 +60,8 @@ import java.util.Timer; import java.util.TimerTask; import cz.msebera.android.httpclient.Header; -import okhttp3.MediaType; -import okhttp3.RequestBody; -import qianmu.container.R; + import qianmu.container.activity.H5.CoreService; -import qianmu.container.activity.H5.UpdateFileActivity; import qianmu.container.activity.ViewBase; import qianmu.container.adapter.WeatherAdapter0; import qianmu.container.adapter.WeatherAdapter1; @@ -127,139 +112,145 @@ public class ViewScreenSaver extends ViewBase { public static final int PLAY_PROGRAM = 0; public static final int PLAY_PROGRAM_BY_INDEX = 1; - static final int TYPE_UPDATE_PROGRAMME = 100;//切换日程单 - static final int TYPE_UPDATE_PROGRAM = 101;//切换节目单 - static final int TYPE_UPDATE_VIDEO0 = 102;//视频更新 - static final int TYPE_UPDATE_VIDEO1 = 103;//视频更新 - static final int TYPE_UPDATE_IMAGE0 = 104;//图片更新 - static final int TYPE_UPDATE_IMAGE1 = 105;//图片更新 - static final int TYPE_UPDATE_IMAGE2 = 106;//图片更新 - static final int TYPE_UPDATE_IMAGE3 = 107;//图片更新 - static final int TYPE_UPDATE_IMAGE4 = 108;//图片更新 - static final int TYPE_UPDATE_IMAGE5 = 109;//图片更新 - static final int TYPE_UPDATE_IMAGE6 = 110;//图片更新 - static final int TYPE_UPDATE_IMAGE7 = 111;//图片更新 - static final int TYPE_UPDATE_IMAGE8 = 112;//图片更新 - static final int TYPE_UPDATE_IMAGE9 = 113;//图片更新 - static final int TYPE_UPDATE_IMAGE10 = 114;//图片更新 - static final int TYPE_UPDATE_IMAGE11 = 115;//图片更新 - static final int TYPE_UPDATE_IMAGE12 = 116;//图片更新 - static final int TYPE_UPDATE_IMAGE13 = 117;//图片更新 - static final int TYPE_UPDATE_IMAGE14 = 118;//图片更新 - static final int TYPE_UPDATE_IMAGE15 = 119;//图片更新 - - static final int TYPE_UPDATE_TEXT4 = 124;//文本更新 - - static final int TYPE_UPDATE_TIME0 = 136;//时间更新 - static final int TYPE_UPDATE_MEIDA0 = 137;//音频更新 - static final int TYPE_UPDATE_WEATHER0 = 138;//天气更新 - static final int TYPE_UPDATE_DATA = 139;//更新JSON - static final int TYPE_TIME_UPDATE_DATA = 140;//定时更新JSON - static final int TYPE_UPDATE_MACTH = 142;//匹配时间是否更新; - static final int TYPE_DOWNLOAD_FILE = 143;//下载文件 - static final int TYPE_GET_NEXT_OTHER_IMG = 144;//下个节目的图片 - - static final int TYPE_HINT_IMG0 = 147;//隐藏额外图片 - static final int TYPE_HINT_IMG1 = 148;//隐藏额外图片 - static final int TYPE_HINT_IMG2 = 149;//隐藏额外图片 - static final int TYPE_HINT_IMG3 = 150;//隐藏额外图片 - static final int TYPE_HINT_IMG4 = 151;//隐藏额外图片 - static final int TYPE_HINT_IMG5 = 152;//隐藏额外图片 - static final int TYPE_HINT_IMG6 = 153;//隐藏额外图片 - static final int TYPE_HINT_IMG7 = 154;//隐藏额外图片 - static final int TYPE_HINT_IMG8 = 155;//隐藏额外图片 - static final int TYPE_HINT_IMG9 = 156;//隐藏额外图片 - static final int TYPE_HINT_IMG10 = 157;//隐藏额外图片 - static final int TYPE_HINT_IMG11 = 158;//隐藏额外图片 - static final int TYPE_HINT_IMG12 = 159;//隐藏额外图片 - static final int TYPE_HINT_IMG13 = 160;//隐藏额外图片 - static final int TYPE_HINT_IMG14 = 161;//隐藏额外图片 - static final int TYPE_HINT_IMG15 = 162;//隐藏额外图片 - static final int TYPE_CHANGE_PROGRAMME_STATE = 163;//切换日程状态 - - static final int TYPE_GET_NEXT_PROGRAMME_OTHER_IMG = 164;//获取下个日程的第一个节目的图片 - static final int TYPE_CHANGE_IMG_SHOW0 = 165;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW1 = 166;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW2 = 167;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW3 = 168;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW4 = 169;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW5 = 170;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW6 = 171;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW7 = 172;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW8 = 173;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW9 = 174;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW10 = 175;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW11 = 176;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW12 = 177;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW13 = 178;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW14 = 179;//预加载下张图片 - static final int TYPE_CHANGE_IMG_SHOW15 = 180;//预加载下张图片 - static final int TYPE_START_PLAY_SVGA = 181;//开始播放svga动画 - static final int TYPE_REFRESH_WEBVIEW0 = 182;//网页刷新 - static final int TYPE_REFRESH_WEBVIEW1 = 183;//网页刷新 - static final int TYPE_REFRESH_WEBVIEW2 = 184;//网页刷新 - static final int TYPE_REFRESH_WEBVIEW3 = 185;//网页刷新 - static final int TYPE_SHUIPAI = 186;//水牌 - static final int TYPE_BRAND0 = 187;//品牌 - static final int TYPE_BRAND1 = 188;//品牌 - static final int TYPE_BRAND2 = 189;//品牌 - static final int TYPE_BRAND3 = 190;//品牌 - static final int TYPE_BRAND4 = 191;//品牌 - static final int TYPE_BRAND5 = 192;//品牌 - static final int TYPE_BRAND6 = 193;//品牌 - static final int TYPE_BRAND7 = 194;//品牌 - static final int TYPE_BRAND8 = 195;//品牌 - static final int TYPE_BRAND9 = 196;//品牌 - static final int TYPE_BRAND10 = 197;//品牌 - static final int TYPE_BRAND11 = 198;//品牌 - static final int TYPE_BRAND12 = 199;//品牌 - static final int TYPE_BRAND13 = 200;//品牌 - static final int TYPE_BRAND14 = 201;//品牌 - static final int TYPE_BRAND15 = 202;//品牌 - static final int TYPE_FACILITIES0= 203;//公共设施 - static final int TYPE_FACILITIES1 = 204;//公共设施 - static final int TYPE_FACILITIES2 = 205;//公共设施 - static final int TYPE_FACILITIES3 = 206;//公共设施 - static final int TYPE_FACILITIES4 = 207;//公共设施 - static final int TYPE_FACILITIES5 = 208;//公共设施 - static final int TYPE_FACILITIES6 = 209;//公共设施 - static final int TYPE_FACILITIES7 = 210;//公共设施 - static final int TYPE_FACILITIES8 = 211;//公共设施 - static final int TYPE_FACILITIES9 = 212;//公共设施 - static final int TYPE_FACILITIES10 = 213;//公共设施 - static final int TYPE_FACILITIES11 = 214;//公共设施 - static final int TYPE_FACILITIES12 = 215;//公共设施 - static final int TYPE_FACILITIES13 = 216;//公共设施 - static final int TYPE_FACILITIES14 = 217;//公共设施 - static final int TYPE_FACILITIES15 = 218;//公共设施 - static final int TYPE_POSITION0 = 219;//点位 - static final int TYPE_POSITION1 = 220;//点位 - static final int TYPE_POSITION2 = 221;//点位 - static final int TYPE_POSITION3 = 222;//点位 - static final int TYPE_POSITION4 = 223;//点位 - static final int TYPE_POSITION5 = 224;//点位 - static final int TYPE_POSITION6 = 225;//点位 - static final int TYPE_POSITION7 = 226;//点位 - static final int TYPE_POSITION8 = 227;//点位 - static final int TYPE_POSITION9 = 228;//点位 - static final int TYPE_POSITION10 = 229;//点位 - static final int TYPE_POSITION11 = 230;//点位 - static final int TYPE_POSITION12 = 231;//点位 - static final int TYPE_POSITION13 = 232;//点位 - static final int TYPE_POSITION14 = 233;//点位 - static final int TYPE_POSITION15 = 234;//点位 - - static final int TYPE_JUDGE_START_PROGRAM = 235;//判断是否已经开始了节目播放 - static final int TYPE_START_PLAY_PROGRAM = 236;//开始播放节目 - - static final int TYPE_MAP = 237;//地图组件 - static final int TYPE_LOAD_MAP_DATA = 238;//地图组件数据 - - //开始播放下标 + static final int TYPE_UPDATE_PROGRAMME = 100;// 切换日程单 + static final int TYPE_UPDATE_PROGRAM = 101;// 切换节目单 + static final int TYPE_UPDATE_VIDEO0 = 102;// 视频更新 + static final int TYPE_UPDATE_VIDEO1 = 103;// 视频更新 + static final int TYPE_UPDATE_VIDEO2 = 239;// 视频更新 + static final int TYPE_UPDATE_VIDEO3 = 240;// 视频更新 + static final int TYPE_UPDATE_IMAGE0 = 104;// 图片更新 + static final int TYPE_UPDATE_IMAGE1 = 105;// 图片更新 + static final int TYPE_UPDATE_IMAGE2 = 106;// 图片更新 + static final int TYPE_UPDATE_IMAGE3 = 107;// 图片更新 + static final int TYPE_UPDATE_IMAGE4 = 108;// 图片更新 + static final int TYPE_UPDATE_IMAGE5 = 109;// 图片更新 + static final int TYPE_UPDATE_IMAGE6 = 110;// 图片更新 + static final int TYPE_UPDATE_IMAGE7 = 111;// 图片更新 + static final int TYPE_UPDATE_IMAGE8 = 112;// 图片更新 + static final int TYPE_UPDATE_IMAGE9 = 113;// 图片更新 + static final int TYPE_UPDATE_IMAGE10 = 114;// 图片更新 + static final int TYPE_UPDATE_IMAGE11 = 115;// 图片更新 + static final int TYPE_UPDATE_IMAGE12 = 116;// 图片更新 + static final int TYPE_UPDATE_IMAGE13 = 117;// 图片更新 + static final int TYPE_UPDATE_IMAGE14 = 118;// 图片更新 + static final int TYPE_UPDATE_IMAGE15 = 119;// 图片更新 + + static final int TYPE_UPDATE_TEXT4 = 124;// 文本更新 + + static final int TYPE_UPDATE_TIME0 = 136;// 时间更新 + static final int TYPE_UPDATE_MEIDA0 = 137;// 音频更新 + static final int TYPE_UPDATE_WEATHER0 = 138;// 天气更新 + static final int TYPE_UPDATE_DATA = 139;// 更新JSON + static final int TYPE_TIME_UPDATE_DATA = 140;// 定时更新JSON + static final int TYPE_UPDATE_MACTH = 142;// 匹配时间是否更新; + static final int TYPE_DOWNLOAD_FILE = 143;// 下载文件 + static final int TYPE_GET_NEXT_OTHER_IMG = 144;// 下个节目的图片 + + static final int TYPE_HINT_IMG0 = 147;// 隐藏额外图片 + static final int TYPE_HINT_IMG1 = 148;// 隐藏额外图片 + static final int TYPE_HINT_IMG2 = 149;// 隐藏额外图片 + static final int TYPE_HINT_IMG3 = 150;// 隐藏额外图片 + static final int TYPE_HINT_IMG4 = 151;// 隐藏额外图片 + static final int TYPE_HINT_IMG5 = 152;// 隐藏额外图片 + static final int TYPE_HINT_IMG6 = 153;// 隐藏额外图片 + static final int TYPE_HINT_IMG7 = 154;// 隐藏额外图片 + static final int TYPE_HINT_IMG8 = 155;// 隐藏额外图片 + static final int TYPE_HINT_IMG9 = 156;// 隐藏额外图片 + static final int TYPE_HINT_IMG10 = 157;// 隐藏额外图片 + static final int TYPE_HINT_IMG11 = 158;// 隐藏额外图片 + static final int TYPE_HINT_IMG12 = 159;// 隐藏额外图片 + static final int TYPE_HINT_IMG13 = 160;// 隐藏额外图片 + static final int TYPE_HINT_IMG14 = 161;// 隐藏额外图片 + static final int TYPE_HINT_IMG15 = 162;// 隐藏额外图片 + static final int TYPE_CHANGE_PROGRAMME_STATE = 163;// 切换日程状态 + + static final int TYPE_GET_NEXT_PROGRAMME_OTHER_IMG = 164;// 获取下个日程的第一个节目的图片 + static final int TYPE_CHANGE_IMG_SHOW0 = 165;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW1 = 166;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW2 = 167;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW3 = 168;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW4 = 169;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW5 = 170;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW6 = 171;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW7 = 172;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW8 = 173;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW9 = 174;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW10 = 175;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW11 = 176;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW12 = 177;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW13 = 178;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW14 = 179;// 预加载下张图片 + static final int TYPE_CHANGE_IMG_SHOW15 = 180;// 预加载下张图片 + static final int TYPE_START_PLAY_SVGA = 181;// 开始播放svga动画 + static final int TYPE_REFRESH_WEBVIEW0 = 182;// 网页刷新 + static final int TYPE_REFRESH_WEBVIEW1 = 183;// 网页刷新 + static final int TYPE_REFRESH_WEBVIEW2 = 184;// 网页刷新 + static final int TYPE_REFRESH_WEBVIEW3 = 185;// 网页刷新 + static final int TYPE_SHUIPAI = 186;// 水牌 + static final int TYPE_BRAND0 = 187;// 品牌 + static final int TYPE_BRAND1 = 188;// 品牌 + static final int TYPE_BRAND2 = 189;// 品牌 + static final int TYPE_BRAND3 = 190;// 品牌 + static final int TYPE_BRAND4 = 191;// 品牌 + static final int TYPE_BRAND5 = 192;// 品牌 + static final int TYPE_BRAND6 = 193;// 品牌 + static final int TYPE_BRAND7 = 194;// 品牌 + static final int TYPE_BRAND8 = 195;// 品牌 + static final int TYPE_BRAND9 = 196;// 品牌 + static final int TYPE_BRAND10 = 197;// 品牌 + static final int TYPE_BRAND11 = 198;// 品牌 + static final int TYPE_BRAND12 = 199;// 品牌 + static final int TYPE_BRAND13 = 200;// 品牌 + static final int TYPE_BRAND14 = 201;// 品牌 + static final int TYPE_BRAND15 = 202;// 品牌 + static final int TYPE_FACILITIES0 = 203;// 公共设施 + static final int TYPE_FACILITIES1 = 204;// 公共设施 + static final int TYPE_FACILITIES2 = 205;// 公共设施 + static final int TYPE_FACILITIES3 = 206;// 公共设施 + static final int TYPE_FACILITIES4 = 207;// 公共设施 + static final int TYPE_FACILITIES5 = 208;// 公共设施 + static final int TYPE_FACILITIES6 = 209;// 公共设施 + static final int TYPE_FACILITIES7 = 210;// 公共设施 + static final int TYPE_FACILITIES8 = 211;// 公共设施 + static final int TYPE_FACILITIES9 = 212;// 公共设施 + static final int TYPE_FACILITIES10 = 213;// 公共设施 + static final int TYPE_FACILITIES11 = 214;// 公共设施 + static final int TYPE_FACILITIES12 = 215;// 公共设施 + static final int TYPE_FACILITIES13 = 216;// 公共设施 + static final int TYPE_FACILITIES14 = 217;// 公共设施 + static final int TYPE_FACILITIES15 = 218;// 公共设施 + static final int TYPE_POSITION0 = 219;// 点位 + static final int TYPE_POSITION1 = 220;// 点位 + static final int TYPE_POSITION2 = 221;// 点位 + static final int TYPE_POSITION3 = 222;// 点位 + static final int TYPE_POSITION4 = 223;// 点位 + static final int TYPE_POSITION5 = 224;// 点位 + static final int TYPE_POSITION6 = 225;// 点位 + static final int TYPE_POSITION7 = 226;// 点位 + static final int TYPE_POSITION8 = 227;// 点位 + static final int TYPE_POSITION9 = 228;// 点位 + static final int TYPE_POSITION10 = 229;// 点位 + static final int TYPE_POSITION11 = 230;// 点位 + static final int TYPE_POSITION12 = 231;// 点位 + static final int TYPE_POSITION13 = 232;// 点位 + static final int TYPE_POSITION14 = 233;// 点位 + static final int TYPE_POSITION15 = 234;// 点位 + + static final int TYPE_JUDGE_START_PROGRAM = 235;// 判断是否已经开始了节目播放 + static final int TYPE_START_PLAY_PROGRAM = 236;// 开始播放节目 + + static final int TYPE_MAP = 237;// 地图组件 + static final int TYPE_LOAD_MAP_DATA = 238;// 地图组件数据 + + // 开始播放下标 int videoPlayCount0 = 0; int videoPlayCount1 = 0; + int videoPlayCount2 = 0; + int videoPlayCount3 = 0; boolean isvideoPlay0 = false; boolean isvideoPlay1 = false; + boolean isvideoPlay2 = false; + boolean isvideoPlay3 = false; int imagePlayCount0 = 0; int imagePlayCount1 = 0; @@ -278,7 +269,7 @@ public class ViewScreenSaver extends ViewBase { int imagePlayCount14 = 0; int imagePlayCount15 = 0; - //品牌 + // 品牌 int brandImageCount0 = 0; int brandImageCount1 = 0; int brandImageCount2 = 0; @@ -295,7 +286,7 @@ public class ViewScreenSaver extends ViewBase { int brandImageCount13 = 0; int brandImageCount14 = 0; int brandImageCount15 = 0; - //设施 + // 设施 int facilitiesImageCount0 = 0; int facilitiesImageCount1 = 0; int facilitiesImageCount2 = 0; @@ -313,7 +304,7 @@ public class ViewScreenSaver extends ViewBase { int facilitiesImageCount14 = 0; int facilitiesImageCount15 = 0; - //点位 + // 点位 int positionImageCount0 = 0; int positionImageCount1 = 0; int positionImageCount2 = 0; @@ -331,8 +322,8 @@ public class ViewScreenSaver extends ViewBase { int positionImageCount14 = 0; int positionImageCount15 = 0; - int programme = 0;//日程 - int program = 0;//节目 + int programme = 0;// 日程 + int program = 0;// 节目 boolean imagePlay0 = true; boolean imagePlay1 = true; @@ -368,20 +359,19 @@ public class ViewScreenSaver extends ViewBase { boolean firstImagePlay14 = true; boolean firstImagePlay15 = true; - Map bigFiles = new HashMap<>(); //大后台文件 - Map mapFiles = new HashMap<>(); //大后台文件 - - int downloadCount = 0;//下载数量 - int mapDownloadCount = 0;//下载数量 + Map bigFiles = new HashMap<>(); // 大后台文件 + Map mapFiles = new HashMap<>(); // 大后台文件 - long startImgTime=0; - long startVideoTime=0; - long startchangeProgram=0;//切换节目开始时间,防止多次切换 + int downloadCount = 0;// 下载数量 + int mapDownloadCount = 0;// 下载数量 - boolean isNextVideo = false;//下个节目是否有视频 + long startImgTime = 0; + long startVideoTime = 0; + long startchangeProgram = 0;// 切换节目开始时间,防止多次切换 - boolean isChangProgramme = false;//日程切换 + boolean isNextVideo = false;// 下个节目是否有视频 + boolean isChangProgramme = false;// 日程切换 List data = new ArrayList<>(); int width; @@ -391,52 +381,57 @@ public class ViewScreenSaver extends ViewBase { Map colorMap; - boolean isZeroPoint = false; //凌晨时间 + boolean isZeroPoint = false; // 凌晨时间 Handler handler = new Handler() { @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); - switch (msg.what){ + switch (msg.what) { - case TYPE_UPDATE_PROGRAMME://切换日程单 + case TYPE_UPDATE_PROGRAMME:// 切换日程单 programme++; - Log.e("TAG","切换日程单"+programme); - program=0; + Log.e("TAG", "切换日程单" + programme); + program = 0; - if(programme >= currentProgramBean.getSchedule().size()){ + if (programme >= currentProgramBean.getSchedule().size()) { deleteView(); return; } NewProgramBean.schedule schedule = currentProgramBean.getSchedule().get(programme); try { -// String s = TimeUtil.stampToDate(System.currentTimeMillis()); - long beginTimeLong = TimeUtil.stringToLong(currentProgramBean.getDate()+" "+schedule.getBeginTime(), "yyyy-MM-dd HH:mm:ss");//开始时间 - if(System.currentTimeMillis() >= beginTimeLong){ - program=0; + // String s = TimeUtil.stampToDate(System.currentTimeMillis()); + long beginTimeLong = TimeUtil.stringToLong( + currentProgramBean.getDate() + " " + schedule.getBeginTime(), "yyyy-MM-dd HH:mm:ss");// 开始时间 + if (System.currentTimeMillis() >= beginTimeLong) { + program = 0; isChangProgramme = true; handler.removeMessages(TYPE_UPDATE_PROGRAM); handler.sendEmptyMessage(TYPE_UPDATE_PROGRAM); - handler.sendEmptyMessageDelayed(TYPE_CHANGE_PROGRAMME_STATE,5000); + handler.sendEmptyMessageDelayed(TYPE_CHANGE_PROGRAMME_STATE, 5000); - }else { - handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAM,beginTimeLong-System.currentTimeMillis()); + } else { + handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAM, + beginTimeLong - System.currentTimeMillis()); } } catch (Exception e) { e.printStackTrace(); } - //是否有下个日程 - if(programme + 1 >= currentProgramBean.getSchedule().size()){ - //没有日程清除所有 + // 是否有下个日程 + if (programme + 1 >= currentProgramBean.getSchedule().size()) { + // 没有日程清除所有 - if(!schedule.getEndTime().equals("23:59:59")){ + if (!schedule.getEndTime().equals("23:59:59")) { try { - //最后一个节目结束时间 - long endTimeLong = TimeUtil.stringToLong(currentProgramBean.getDate()+" "+schedule.getEndTime(), "yyyy-MM-dd HH:mm:ss");//开始时间 - sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME,endTimeLong - System.currentTimeMillis()); + // 最后一个节目结束时间 + long endTimeLong = TimeUtil.stringToLong( + currentProgramBean.getDate() + " " + schedule.getEndTime(), + "yyyy-MM-dd HH:mm:ss");// 开始时间 + sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME, + endTimeLong - System.currentTimeMillis()); } catch (Exception e) { e.printStackTrace(); } @@ -445,15 +440,19 @@ public class ViewScreenSaver extends ViewBase { return; } - //下个日程 + // 下个日程 NewProgramBean.schedule nextSchedule = currentProgramBean.getSchedule().get(programme + 1); try { - long beginTimeLong = TimeUtil.stringToLong(currentProgramBean.getDate()+ " "+ nextSchedule.getBeginTime(), "yyyy-MM-dd HH:mm:ss");//开始时间 + long beginTimeLong = TimeUtil.stringToLong( + currentProgramBean.getDate() + " " + nextSchedule.getBeginTime(), + "yyyy-MM-dd HH:mm:ss");// 开始时间 handler.removeMessages(TYPE_UPDATE_PROGRAMME); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME,beginTimeLong - System.currentTimeMillis()); - //提前10秒通知获取下个日程的第一个节目的图片 -// handler.sendEmptyMessageDelayed(TYPE_GET_NEXT_PROGRAMME_OTHER_IMG,beginTimeLong - (System.currentTimeMillis()+5000)); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME, + beginTimeLong - System.currentTimeMillis()); + // 提前10秒通知获取下个日程的第一个节目的图片 + // handler.sendEmptyMessageDelayed(TYPE_GET_NEXT_PROGRAMME_OTHER_IMG,beginTimeLong + // - (System.currentTimeMillis()+5000)); } catch (Exception e) { e.printStackTrace(); } @@ -462,93 +461,96 @@ public class ViewScreenSaver extends ViewBase { case TYPE_CHANGE_PROGRAMME_STATE: - isChangProgramme=false; + isChangProgramme = false; break; - case TYPE_UPDATE_PROGRAM://切换节目单 + case TYPE_UPDATE_PROGRAM:// 切换节目单 try { - if(!isChangProgramme){ - if(System.currentTimeMillis()-startchangeProgram<2000){ - //防止重复调用导致图片不同步 + if (!isChangProgramme) { + if (System.currentTimeMillis() - startchangeProgram < 2000) { + // 防止重复调用导致图片不同步 return; - }else { + } else { startchangeProgram = System.currentTimeMillis(); } } - if(currentProgramBean==null){ + if (currentProgramBean == null) { return; } - if(program >= currentProgramBean.getSchedule().get(programme).getPrograms().size()){ - program=0; + if (program >= currentProgramBean.getSchedule().get(programme).getPrograms().size()) { + program = 0; } if (Constant.isMain) { - Log.e("TAG","主设备向其他设备发送节目下标"+program); - SocketServerManager.sendMessageToClient(LocSocCliManager.NEXT_PROGRAM_INDEX, String.valueOf(program)); + Log.e("TAG", "主设备向其他设备发送节目下标" + program); + SocketServerManager.sendMessageToClient(LocSocCliManager.NEXT_PROGRAM_INDEX, + String.valueOf(program)); } deleteView(); - createView( currentProgramBean.getSchedule().get(programme), program); + createView(currentProgramBean.getSchedule().get(programme), program); - }catch (Exception e){ - LoggerUtil.e("TYPE_UPDATE_PROGRAM:" ,e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("TYPE_UPDATE_PROGRAM:", e.getMessage()); } break; case TYPE_GET_NEXT_OTHER_IMG: - //下个节目的图片 + // 下个节目的图片 try { - if(currentProgramBean==null){ + if (currentProgramBean == null) { return; } - if(currentProgramBean.getSchedule().size()<=0){ + if (currentProgramBean.getSchedule().size() <= 0) { return; } - if(currentProgramBean.getSchedule().get(programme)==null){ + if (currentProgramBean.getSchedule().get(programme) == null) { return; } NewProgramBean.programs nextprograms; - if(nextimg+1 < currentProgramBean.getSchedule().get(programme).getPrograms().size()){ - nextprograms = currentProgramBean.getSchedule().get(programme).getPrograms().get(nextimg + 1); - }else { + if (nextimg + 1 < currentProgramBean.getSchedule().get(programme).getPrograms().size()) { + nextprograms = currentProgramBean.getSchedule().get(programme).getPrograms() + .get(nextimg + 1); + } else { nextprograms = currentProgramBean.getSchedule().get(programme).getPrograms().get(0); } - int videoViewNumb= 0 ; + int videoViewNumb = 0; int otherImgCount = 0; - for(int i=0;i0){ + } else if (components.getTypeCode().equals("video")) { + // 存在视频组件 + String localPath = StringUtil.strSplice(Constant.CACHE_PATH, + components.getMaterials().get(0).getFileUrl()); + if (videoViewNumb == 0) { + if (!isNextVideo) { + isNextVideo = true; + if (components.getMaterials().get(0).getDuration() > 0) { binding.videoView0.setVideoPath(localPath); - }else { - //图片 + } else { + // 图片 Drawable drawable = new BitmapDrawable(localPath); binding.videoView0.setBackground(drawable); } } - }else { - if(!isNextVideo){ - isNextVideo=true; - if(components.getMaterials().get(0).getDuration()>0){ + } else { + if (!isNextVideo) { + isNextVideo = true; + if (components.getMaterials().get(0).getDuration() > 0) { binding.videoView0.setVideoPath(localPath); - }else { - //图片 + } else { + // 图片 Drawable drawable = new BitmapDrawable(localPath); binding.videoView0.setBackground(drawable); @@ -559,59 +561,78 @@ public class ViewScreenSaver extends ViewBase { videoViewNumb++; } } - }catch (Exception e){ - LoggerUtil.e("TYPE_GET_NEXT_OTHER_IMG报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("TYPE_GET_NEXT_OTHER_IMG报错", e.getMessage()); } break; - case TYPE_GET_NEXT_PROGRAMME_OTHER_IMG://下个日程的第一个节目的图片 + case TYPE_GET_NEXT_PROGRAMME_OTHER_IMG:// 下个日程的第一个节目的图片 - if(programme >= currentProgramBean.getSchedule().size()){ + if (programme >= currentProgramBean.getSchedule().size()) { return; } try { - NewProgramBean.programs nextprogram = currentProgramBean.getSchedule().get(programme+1).getPrograms().get(0); - int otherImgCount2=0; - for(int i=0;i { binding.otherImg3.setVisibility(View.INVISIBLE); break; - case TYPE_UPDATE_MEIDA0://音频播放 + case TYPE_UPDATE_MEIDA0:// 音频播放 updateMedia(mediaComponents0); break; - case TYPE_UPDATE_IMAGE0: //图片切换 -// Log.e("TAG","切换图片"); - if(imageComponents0==null){ + case TYPE_UPDATE_IMAGE0: // 图片切换 + // Log.e("TAG","切换图片"); + if (imageComponents0 == null) { return; } if (Constant.isMain) { - LoggerUtil.e("TAG","主设备向其他设备发送图片下标"+imagePlayCount0); - SocketServerManager.sendMessageToClient(LocSocCliManager.PROGRAM_IMG_INDEX, String.valueOf(imagePlayCount0)); + LoggerUtil.e("TAG", "主设备向其他设备发送图片下标" + imagePlayCount0); + SocketServerManager.sendMessageToClient(LocSocCliManager.PROGRAM_IMG_INDEX, + String.valueOf(imagePlayCount0)); } - if(!isChangProgramme){ - if(System.currentTimeMillis()-startImgTime<3000 && Constant.isSecondary){ - //防止重复调用导致图片不同步 + if (!isChangProgramme) { + if (System.currentTimeMillis() - startImgTime < 3000 && Constant.isSecondary) { + // 防止重复调用导致图片不同步 return; - }else { - startImgTime=System.currentTimeMillis(); + } else { + startImgTime = System.currentTimeMillis(); } } - updateImage(imageComponents0,imagePlayCount0,firstImagePlay0,imagePlay0,binding.img0,binding.img0Behind,TYPE_UPDATE_IMAGE0); + updateImage(imageComponents0, imagePlayCount0, firstImagePlay0, imagePlay0, binding.img0, + binding.img0Behind, TYPE_UPDATE_IMAGE0); break; - case TYPE_UPDATE_IMAGE1://图片切换 + case TYPE_UPDATE_IMAGE1:// 图片切换 - updateImage(imageComponents1, imagePlayCount1,firstImagePlay1, imagePlay1, binding.img1,binding.img1Behind,TYPE_UPDATE_IMAGE1); + updateImage(imageComponents1, imagePlayCount1, firstImagePlay1, imagePlay1, binding.img1, + binding.img1Behind, TYPE_UPDATE_IMAGE1); break; - case TYPE_UPDATE_IMAGE2://图片切换 + case TYPE_UPDATE_IMAGE2:// 图片切换 - updateImage(imageComponents2, imagePlayCount2,firstImagePlay2, imagePlay2, binding.img2,binding.img2Behind, TYPE_UPDATE_IMAGE2); + updateImage(imageComponents2, imagePlayCount2, firstImagePlay2, imagePlay2, binding.img2, + binding.img2Behind, TYPE_UPDATE_IMAGE2); break; - case TYPE_UPDATE_IMAGE3://图片切换 + case TYPE_UPDATE_IMAGE3:// 图片切换 - updateImage(imageComponents3, imagePlayCount3, firstImagePlay3, imagePlay3, binding.img3, binding.img3Behind, TYPE_UPDATE_IMAGE3); + updateImage(imageComponents3, imagePlayCount3, firstImagePlay3, imagePlay3, binding.img3, + binding.img3Behind, TYPE_UPDATE_IMAGE3); break; - case TYPE_UPDATE_IMAGE4://图片切换 + case TYPE_UPDATE_IMAGE4:// 图片切换 - updateImage(imageComponents4, imagePlayCount4, firstImagePlay4, imagePlay4, binding.img4, binding.img4Behind, TYPE_UPDATE_IMAGE4); + updateImage(imageComponents4, imagePlayCount4, firstImagePlay4, imagePlay4, binding.img4, + binding.img4Behind, TYPE_UPDATE_IMAGE4); break; - case TYPE_UPDATE_IMAGE5://图片切换 + case TYPE_UPDATE_IMAGE5:// 图片切换 - updateImage(imageComponents5, imagePlayCount5, firstImagePlay5, imagePlay5, binding.img5, binding.img5Behind, TYPE_UPDATE_IMAGE5); + updateImage(imageComponents5, imagePlayCount5, firstImagePlay5, imagePlay5, binding.img5, + binding.img5Behind, TYPE_UPDATE_IMAGE5); break; - case TYPE_UPDATE_IMAGE6://图片切换 + case TYPE_UPDATE_IMAGE6:// 图片切换 - updateImage(imageComponents6, imagePlayCount6, firstImagePlay6, imagePlay6, binding.img6, binding.img6Behind, TYPE_UPDATE_IMAGE6); + updateImage(imageComponents6, imagePlayCount6, firstImagePlay6, imagePlay6, binding.img6, + binding.img6Behind, TYPE_UPDATE_IMAGE6); break; - case TYPE_UPDATE_IMAGE7://图片切换 + case TYPE_UPDATE_IMAGE7:// 图片切换 - updateImage(imageComponents7, imagePlayCount7, firstImagePlay7, imagePlay7, binding.img7, binding.img7Behind, TYPE_UPDATE_IMAGE7); + updateImage(imageComponents7, imagePlayCount7, firstImagePlay7, imagePlay7, binding.img7, + binding.img7Behind, TYPE_UPDATE_IMAGE7); break; - case TYPE_UPDATE_IMAGE8://图片切换 + case TYPE_UPDATE_IMAGE8:// 图片切换 - updateImage(imageComponents8, imagePlayCount8, firstImagePlay8, imagePlay8, binding.img8, binding.img8Behind, TYPE_UPDATE_IMAGE8); + updateImage(imageComponents8, imagePlayCount8, firstImagePlay8, imagePlay8, binding.img8, + binding.img8Behind, TYPE_UPDATE_IMAGE8); break; - case TYPE_UPDATE_IMAGE9://图片切换 + case TYPE_UPDATE_IMAGE9:// 图片切换 - updateImage(imageComponents9, imagePlayCount9, firstImagePlay9, imagePlay9, binding.img9, binding.img9Behind, TYPE_UPDATE_IMAGE9); + updateImage(imageComponents9, imagePlayCount9, firstImagePlay9, imagePlay9, binding.img9, + binding.img9Behind, TYPE_UPDATE_IMAGE9); break; - case TYPE_UPDATE_IMAGE10://图片切换 + case TYPE_UPDATE_IMAGE10:// 图片切换 - updateImage(imageComponents10, imagePlayCount10, firstImagePlay10, imagePlay10, binding.img10, binding.img10Behind, TYPE_UPDATE_IMAGE10); + updateImage(imageComponents10, imagePlayCount10, firstImagePlay10, imagePlay10, binding.img10, + binding.img10Behind, TYPE_UPDATE_IMAGE10); break; - case TYPE_UPDATE_IMAGE11://图片切换 + case TYPE_UPDATE_IMAGE11:// 图片切换 - updateImage(imageComponents11, imagePlayCount11, firstImagePlay11, imagePlay11, binding.img11, binding.img11Behind, TYPE_UPDATE_IMAGE11); + updateImage(imageComponents11, imagePlayCount11, firstImagePlay11, imagePlay11, binding.img11, + binding.img11Behind, TYPE_UPDATE_IMAGE11); break; - case TYPE_UPDATE_IMAGE12://图片切换 + case TYPE_UPDATE_IMAGE12:// 图片切换 - updateImage(imageComponents12, imagePlayCount12, firstImagePlay12, imagePlay12, binding.img12, binding.img12Behind, TYPE_UPDATE_IMAGE12); + updateImage(imageComponents12, imagePlayCount12, firstImagePlay12, imagePlay12, binding.img12, + binding.img12Behind, TYPE_UPDATE_IMAGE12); break; - case TYPE_UPDATE_IMAGE13://图片切换 + case TYPE_UPDATE_IMAGE13:// 图片切换 - updateImage(imageComponents13, imagePlayCount13, firstImagePlay13, imagePlay13, binding.img13, binding.img13Behind, TYPE_UPDATE_IMAGE13); + updateImage(imageComponents13, imagePlayCount13, firstImagePlay13, imagePlay13, binding.img13, + binding.img13Behind, TYPE_UPDATE_IMAGE13); break; - case TYPE_UPDATE_IMAGE14://图片切换 + case TYPE_UPDATE_IMAGE14:// 图片切换 - updateImage(imageComponents14, imagePlayCount14, firstImagePlay14, imagePlay14, binding.img14, binding.img14Behind, TYPE_UPDATE_IMAGE14); + updateImage(imageComponents14, imagePlayCount14, firstImagePlay14, imagePlay14, binding.img14, + binding.img14Behind, TYPE_UPDATE_IMAGE14); break; - case TYPE_UPDATE_IMAGE15://图片切换 + case TYPE_UPDATE_IMAGE15:// 图片切换 - updateImage(imageComponents15, imagePlayCount15, firstImagePlay15, imagePlay15, binding.img15, binding.img15Behind, TYPE_UPDATE_IMAGE15); + updateImage(imageComponents15, imagePlayCount15, firstImagePlay15, imagePlay15, binding.img15, + binding.img15Behind, TYPE_UPDATE_IMAGE15); break; - case TYPE_CHANGE_IMG_SHOW0://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW0:// 预加载下张图片 String url = msg.getData().getString("url"); - if( binding.img0.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url, binding.img0); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url, binding.img0Behind); + if (binding.img0.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url, binding.img0); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url, + binding.img0Behind); } break; - case TYPE_CHANGE_IMG_SHOW1://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW1:// 预加载下张图片 String url1 = msg.getData().getString("url"); - if( binding.img1.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url1, binding.img1); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url1, binding.img1Behind); + if (binding.img1.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url1, binding.img1); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url1, + binding.img1Behind); } break; - case TYPE_CHANGE_IMG_SHOW2://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW2:// 预加载下张图片 String url2 = msg.getData().getString("url"); - if( binding.img2.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url2, binding.img2); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url2, binding.img2Behind); + if (binding.img2.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url2, binding.img2); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url2, + binding.img2Behind); } break; - case TYPE_CHANGE_IMG_SHOW3://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW3:// 预加载下张图片 String url3 = msg.getData().getString("url"); - if( binding.img3.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url3, binding.img3); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url3, binding.img3Behind); + if (binding.img3.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url3, binding.img3); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url3, + binding.img3Behind); } break; - case TYPE_CHANGE_IMG_SHOW4://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW4:// 预加载下张图片 String url4 = msg.getData().getString("url"); - if( binding.img4.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url4, binding.img4); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url4, binding.img4Behind); + if (binding.img4.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url4, binding.img4); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url4, + binding.img4Behind); } break; - case TYPE_CHANGE_IMG_SHOW5://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW5:// 预加载下张图片 String url5 = msg.getData().getString("url"); - if( binding.img5.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url5, binding.img5); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url5, binding.img5Behind); + if (binding.img5.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url5, binding.img5); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url5, + binding.img5Behind); } break; - case TYPE_CHANGE_IMG_SHOW6://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW6:// 预加载下张图片 String url6 = msg.getData().getString("url"); - if( binding.img6.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url6, binding.img6); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url6, binding.img6Behind); + if (binding.img6.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url6, binding.img6); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url6, + binding.img6Behind); } break; - case TYPE_CHANGE_IMG_SHOW7://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW7:// 预加载下张图片 String url7 = msg.getData().getString("url"); - if( binding.img7.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url7, binding.img7); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url7, binding.img7Behind); + if (binding.img7.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url7, binding.img7); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url7, + binding.img7Behind); } break; - case TYPE_CHANGE_IMG_SHOW8://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW8:// 预加载下张图片 String url8 = msg.getData().getString("url"); - if( binding.img8.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url8, binding.img8); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url8, binding.img8Behind); + if (binding.img8.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url8, binding.img8); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url8, + binding.img8Behind); } break; - case TYPE_CHANGE_IMG_SHOW9://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW9:// 预加载下张图片 String url9 = msg.getData().getString("url"); - if( binding.img9.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url9, binding.img9); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url9, binding.img9Behind); + if (binding.img9.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url9, binding.img9); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url9, + binding.img9Behind); } break; - case TYPE_CHANGE_IMG_SHOW10://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW10:// 预加载下张图片 String url10 = msg.getData().getString("url"); - if( binding.img10.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url10, binding.img10); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url10, binding.img10Behind); + if (binding.img10.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url10, + binding.img10); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url10, + binding.img10Behind); } break; - case TYPE_CHANGE_IMG_SHOW11://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW11:// 预加载下张图片 String url11 = msg.getData().getString("url"); - if( binding.img11.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url11, binding.img11); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url11, binding.img11Behind); + if (binding.img11.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url11, + binding.img11); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url11, + binding.img11Behind); } break; - case TYPE_CHANGE_IMG_SHOW12://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW12:// 预加载下张图片 String url12 = msg.getData().getString("url"); - if( binding.img12.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url12, binding.img12); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url12, binding.img12Behind); + if (binding.img12.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url12, + binding.img12); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url12, + binding.img12Behind); } break; - case TYPE_CHANGE_IMG_SHOW13://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW13:// 预加载下张图片 String url13 = msg.getData().getString("url"); - if( binding.img13.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url13, binding.img13); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url13, binding.img13Behind); + if (binding.img13.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url13, + binding.img13); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url13, + binding.img13Behind); } break; - case TYPE_CHANGE_IMG_SHOW14://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW14:// 预加载下张图片 String url14 = msg.getData().getString("url"); - if( binding.img14.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url14, binding.img14); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url14, binding.img14Behind); + if (binding.img14.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url14, + binding.img14); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url14, + binding.img14Behind); } break; - case TYPE_CHANGE_IMG_SHOW15://预加载下张图片 + case TYPE_CHANGE_IMG_SHOW15:// 预加载下张图片 String url15 = msg.getData().getString("url"); - if( binding.img15.getVisibility()==View.INVISIBLE){ - //隐藏时,加载下个图片 - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url15, binding.img15); - }else { - BitmapUtil.loadImage(Constant.getBaseAddress()+"/", Constant.CACHE_PATH, url15, binding.img15Behind); + if (binding.img15.getVisibility() == View.INVISIBLE) { + // 隐藏时,加载下个图片 + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url15, + binding.img15); + } else { + BitmapUtil.loadImage(Constant.getBaseAddress() + "/", Constant.CACHE_PATH, url15, + binding.img15Behind); } break; case TYPE_UPDATE_TEXT4: - for(TextBean text: textList){ - if(text.getMarqueeTextView()!=null){ - MarqueeTextView textView= text.getMarqueeTextView(); + for (TextBean text : textList) { + if (text.getMarqueeTextView() != null) { + MarqueeTextView textView = text.getMarqueeTextView(); textView.setText(text.getText()); - }else { + } else { AutoScrollTextView autoScrollTextView = text.getAutoScrollTextView(); autoScrollTextView.setText(text.getText()); autoScrollTextView.init(text.getWidth()); @@ -886,356 +946,366 @@ public class ViewScreenSaver extends ViewBase { } break; - case TYPE_REFRESH_WEBVIEW0://网页刷新 - if(getRefreshWebTime(webComponents0)>0){ - sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW0,getRefreshWebTime(webComponents0)); + case TYPE_REFRESH_WEBVIEW0:// 网页刷新 + if (getRefreshWebTime(webComponents0) > 0) { + sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW0, getRefreshWebTime(webComponents0)); onlineWebView0.loadUrl(webComponents0.getMaterials().get(0).getOuterChain()); } break; - case TYPE_REFRESH_WEBVIEW1://网页刷新 - if(getRefreshWebTime(webComponents1)>0){ - sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW1,getRefreshWebTime(webComponents1)); + case TYPE_REFRESH_WEBVIEW1:// 网页刷新 + if (getRefreshWebTime(webComponents1) > 0) { + sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW1, getRefreshWebTime(webComponents1)); onlineWebView1.loadUrl(webComponents1.getMaterials().get(0).getOuterChain()); } break; - case TYPE_REFRESH_WEBVIEW2://网页刷新 - if(getRefreshWebTime(webComponents2)>0){ - sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW2,getRefreshWebTime(webComponents2)); + case TYPE_REFRESH_WEBVIEW2:// 网页刷新 + if (getRefreshWebTime(webComponents2) > 0) { + sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW2, getRefreshWebTime(webComponents2)); onlineWebView2.loadUrl(webComponents2.getMaterials().get(0).getOuterChain()); } break; - case TYPE_REFRESH_WEBVIEW3://网页刷新 - if(getRefreshWebTime(webComponents3)>0){ - sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW3,getRefreshWebTime(webComponents3)); + case TYPE_REFRESH_WEBVIEW3:// 网页刷新 + if (getRefreshWebTime(webComponents3) > 0) { + sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW3, getRefreshWebTime(webComponents3)); onlineWebView3.loadUrl(webComponents3.getMaterials().get(0).getOuterChain()); } break; - case TYPE_SHUIPAI://水牌 - if(shuipaifacenumb == shuipaifacenumb_finish){ - LoggerUtil.e("TYPE_SHUIPAI","接口请求完成,开始加载水牌"); + case TYPE_SHUIPAI:// 水牌 + if (shuipaifacenumb == shuipaifacenumb_finish) { + LoggerUtil.e("TYPE_SHUIPAI", "接口请求完成,开始加载水牌"); spWebView.clearCache(true); - setWebView(spWebView,"http://127.0.0.1:8080/"+"?url="+Constant.getBaseAddress()); + setWebView(spWebView, "http://127.0.0.1:8080/" + "?url=" + Constant.getBaseAddress()); - }else { - sendEmptyMessageDelayed(TYPE_SHUIPAI,2000); + } else { + sendEmptyMessageDelayed(TYPE_SHUIPAI, 2000); } break; - case TYPE_MAP://地图 - LoggerUtil.e("TYPE_MAP","接口请求完成,开始加载地图"); - if(mapWebView!=null){ + case TYPE_MAP:// 地图 + LoggerUtil.e("TYPE_MAP", "接口请求完成,开始加载地图"); + if (mapWebView != null) { mapWebView.clearCache(true); - setWebView(mapWebView,"http://127.0.0.1:8080/"); + setWebView(mapWebView, "http://127.0.0.1:8080/"); } break; - case TYPE_UPDATE_TIME0://时间 -// Log.e("TAG","更新时间"); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_TIME0,60*1000); + case TYPE_UPDATE_TIME0:// 时间 + // Log.e("TAG","更新时间"); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_TIME0, 60 * 1000); chooseTime(timeComponents0.getConfig().getStyle()); break; case TYPE_BRAND0: brandImageCount0++; - updateBrandOrfacilities(brandImageCount0,0,brandImageViewList,TYPE_BRAND0); + updateBrandOrfacilities(brandImageCount0, 0, brandImageViewList, TYPE_BRAND0); break; case TYPE_BRAND1: brandImageCount1++; - updateBrandOrfacilities(brandImageCount1,1,brandImageViewList,TYPE_BRAND1); + updateBrandOrfacilities(brandImageCount1, 1, brandImageViewList, TYPE_BRAND1); break; case TYPE_BRAND2: brandImageCount2++; - updateBrandOrfacilities(brandImageCount2,2,brandImageViewList,TYPE_BRAND2); + updateBrandOrfacilities(brandImageCount2, 2, brandImageViewList, TYPE_BRAND2); break; case TYPE_BRAND3: brandImageCount3++; - updateBrandOrfacilities(brandImageCount3,3,brandImageViewList,TYPE_BRAND3); + updateBrandOrfacilities(brandImageCount3, 3, brandImageViewList, TYPE_BRAND3); break; case TYPE_BRAND4: brandImageCount4++; - updateBrandOrfacilities(brandImageCount4,4,brandImageViewList,TYPE_BRAND4); + updateBrandOrfacilities(brandImageCount4, 4, brandImageViewList, TYPE_BRAND4); break; case TYPE_BRAND5: brandImageCount5++; - updateBrandOrfacilities(brandImageCount5,5,brandImageViewList,TYPE_BRAND5); + updateBrandOrfacilities(brandImageCount5, 5, brandImageViewList, TYPE_BRAND5); break; case TYPE_BRAND6: brandImageCount6++; - updateBrandOrfacilities(brandImageCount6,6,brandImageViewList,TYPE_BRAND6); + updateBrandOrfacilities(brandImageCount6, 6, brandImageViewList, TYPE_BRAND6); break; case TYPE_BRAND7: brandImageCount7++; - updateBrandOrfacilities(brandImageCount7,7,brandImageViewList,TYPE_BRAND7); + updateBrandOrfacilities(brandImageCount7, 7, brandImageViewList, TYPE_BRAND7); break; case TYPE_BRAND8: brandImageCount8++; - updateBrandOrfacilities(brandImageCount8,8,brandImageViewList,TYPE_BRAND8); + updateBrandOrfacilities(brandImageCount8, 8, brandImageViewList, TYPE_BRAND8); break; case TYPE_BRAND9: brandImageCount9++; - updateBrandOrfacilities(brandImageCount9,9,brandImageViewList,TYPE_BRAND9); + updateBrandOrfacilities(brandImageCount9, 9, brandImageViewList, TYPE_BRAND9); break; case TYPE_BRAND10: brandImageCount10++; - updateBrandOrfacilities(brandImageCount10,10,brandImageViewList,TYPE_BRAND10); + updateBrandOrfacilities(brandImageCount10, 10, brandImageViewList, TYPE_BRAND10); break; case TYPE_BRAND11: brandImageCount11++; - updateBrandOrfacilities(brandImageCount11,11,brandImageViewList,TYPE_BRAND11); + updateBrandOrfacilities(brandImageCount11, 11, brandImageViewList, TYPE_BRAND11); break; case TYPE_BRAND12: brandImageCount12++; - updateBrandOrfacilities(brandImageCount12,12,brandImageViewList,TYPE_BRAND12); + updateBrandOrfacilities(brandImageCount12, 12, brandImageViewList, TYPE_BRAND12); break; case TYPE_BRAND13: brandImageCount13++; - updateBrandOrfacilities(brandImageCount13,13,brandImageViewList,TYPE_BRAND13); + updateBrandOrfacilities(brandImageCount13, 13, brandImageViewList, TYPE_BRAND13); break; case TYPE_BRAND14: brandImageCount14++; - updateBrandOrfacilities(brandImageCount14,14,brandImageViewList,TYPE_BRAND14); + updateBrandOrfacilities(brandImageCount14, 14, brandImageViewList, TYPE_BRAND14); break; case TYPE_BRAND15: brandImageCount15++; - updateBrandOrfacilities(brandImageCount15,15,brandImageViewList,TYPE_BRAND15); + updateBrandOrfacilities(brandImageCount15, 15, brandImageViewList, TYPE_BRAND15); break; case TYPE_FACILITIES0: facilitiesImageCount0++; - updateBrandOrfacilities(facilitiesImageCount0,0,facilitiesImageViewList,TYPE_FACILITIES0); + updateBrandOrfacilities(facilitiesImageCount0, 0, facilitiesImageViewList, TYPE_FACILITIES0); break; case TYPE_FACILITIES1: facilitiesImageCount1++; - updateBrandOrfacilities(facilitiesImageCount1,1,facilitiesImageViewList,TYPE_FACILITIES1); + updateBrandOrfacilities(facilitiesImageCount1, 1, facilitiesImageViewList, TYPE_FACILITIES1); break; case TYPE_FACILITIES2: facilitiesImageCount2++; - updateBrandOrfacilities(facilitiesImageCount2,2,facilitiesImageViewList,TYPE_FACILITIES2); + updateBrandOrfacilities(facilitiesImageCount2, 2, facilitiesImageViewList, TYPE_FACILITIES2); break; case TYPE_FACILITIES3: facilitiesImageCount3++; - updateBrandOrfacilities(facilitiesImageCount3,3,facilitiesImageViewList,TYPE_FACILITIES3); + updateBrandOrfacilities(facilitiesImageCount3, 3, facilitiesImageViewList, TYPE_FACILITIES3); break; case TYPE_FACILITIES4: facilitiesImageCount4++; - updateBrandOrfacilities(facilitiesImageCount4,4,facilitiesImageViewList,TYPE_FACILITIES4); + updateBrandOrfacilities(facilitiesImageCount4, 4, facilitiesImageViewList, TYPE_FACILITIES4); break; case TYPE_FACILITIES5: facilitiesImageCount5++; - updateBrandOrfacilities(facilitiesImageCount5,5,facilitiesImageViewList,TYPE_FACILITIES5); + updateBrandOrfacilities(facilitiesImageCount5, 5, facilitiesImageViewList, TYPE_FACILITIES5); break; case TYPE_FACILITIES6: facilitiesImageCount6++; - updateBrandOrfacilities(facilitiesImageCount6,6,facilitiesImageViewList,TYPE_FACILITIES6); + updateBrandOrfacilities(facilitiesImageCount6, 6, facilitiesImageViewList, TYPE_FACILITIES6); break; case TYPE_FACILITIES7: facilitiesImageCount7++; - updateBrandOrfacilities(facilitiesImageCount7,7,facilitiesImageViewList,TYPE_FACILITIES7); + updateBrandOrfacilities(facilitiesImageCount7, 7, facilitiesImageViewList, TYPE_FACILITIES7); break; case TYPE_FACILITIES8: facilitiesImageCount8++; - updateBrandOrfacilities(facilitiesImageCount8,8,facilitiesImageViewList,TYPE_FACILITIES8); + updateBrandOrfacilities(facilitiesImageCount8, 8, facilitiesImageViewList, TYPE_FACILITIES8); break; case TYPE_FACILITIES9: facilitiesImageCount9++; - updateBrandOrfacilities(facilitiesImageCount9,9,facilitiesImageViewList,TYPE_FACILITIES9); + updateBrandOrfacilities(facilitiesImageCount9, 9, facilitiesImageViewList, TYPE_FACILITIES9); break; case TYPE_FACILITIES10: facilitiesImageCount10++; - updateBrandOrfacilities(facilitiesImageCount10,10,facilitiesImageViewList,TYPE_FACILITIES10); + updateBrandOrfacilities(facilitiesImageCount10, 10, facilitiesImageViewList, TYPE_FACILITIES10); break; case TYPE_FACILITIES11: facilitiesImageCount11++; - updateBrandOrfacilities(facilitiesImageCount11,11,facilitiesImageViewList,TYPE_FACILITIES11); + updateBrandOrfacilities(facilitiesImageCount11, 11, facilitiesImageViewList, TYPE_FACILITIES11); break; case TYPE_FACILITIES12: facilitiesImageCount12++; - updateBrandOrfacilities(facilitiesImageCount12,12,facilitiesImageViewList,TYPE_FACILITIES12); + updateBrandOrfacilities(facilitiesImageCount12, 12, facilitiesImageViewList, TYPE_FACILITIES12); break; case TYPE_FACILITIES13: facilitiesImageCount13++; - updateBrandOrfacilities(facilitiesImageCount13,13,facilitiesImageViewList,TYPE_FACILITIES13); + updateBrandOrfacilities(facilitiesImageCount13, 13, facilitiesImageViewList, TYPE_FACILITIES13); break; case TYPE_FACILITIES14: facilitiesImageCount14++; - updateBrandOrfacilities(facilitiesImageCount14,14,facilitiesImageViewList,TYPE_FACILITIES14); + updateBrandOrfacilities(facilitiesImageCount14, 14, facilitiesImageViewList, TYPE_FACILITIES14); break; case TYPE_FACILITIES15: facilitiesImageCount15++; - updateBrandOrfacilities(facilitiesImageCount15,15,facilitiesImageViewList,TYPE_FACILITIES15); + updateBrandOrfacilities(facilitiesImageCount15, 15, facilitiesImageViewList, TYPE_FACILITIES15); break; - //点位 + // 点位 case TYPE_POSITION0: positionImageCount0++; - updateBrandOrfacilities(positionImageCount0,0,positionImageViewList,TYPE_POSITION0); + updateBrandOrfacilities(positionImageCount0, 0, positionImageViewList, TYPE_POSITION0); break; case TYPE_POSITION1: positionImageCount1++; - updateBrandOrfacilities(positionImageCount1,1,positionImageViewList,TYPE_POSITION1); + updateBrandOrfacilities(positionImageCount1, 1, positionImageViewList, TYPE_POSITION1); break; case TYPE_POSITION2: positionImageCount2++; - updateBrandOrfacilities(positionImageCount2,2,positionImageViewList,TYPE_POSITION2); + updateBrandOrfacilities(positionImageCount2, 2, positionImageViewList, TYPE_POSITION2); break; case TYPE_POSITION3: positionImageCount3++; - updateBrandOrfacilities(positionImageCount3,3,positionImageViewList,TYPE_POSITION3); + updateBrandOrfacilities(positionImageCount3, 3, positionImageViewList, TYPE_POSITION3); break; case TYPE_POSITION4: positionImageCount4++; - updateBrandOrfacilities(positionImageCount4,4,positionImageViewList,TYPE_POSITION4); + updateBrandOrfacilities(positionImageCount4, 4, positionImageViewList, TYPE_POSITION4); break; case TYPE_POSITION5: positionImageCount5++; - updateBrandOrfacilities(positionImageCount5,5,positionImageViewList,TYPE_POSITION5); + updateBrandOrfacilities(positionImageCount5, 5, positionImageViewList, TYPE_POSITION5); break; case TYPE_POSITION6: positionImageCount6++; - updateBrandOrfacilities(positionImageCount6,6,positionImageViewList,TYPE_POSITION6); + updateBrandOrfacilities(positionImageCount6, 6, positionImageViewList, TYPE_POSITION6); break; case TYPE_POSITION7: positionImageCount7++; - updateBrandOrfacilities(positionImageCount7,7,positionImageViewList,TYPE_POSITION7); + updateBrandOrfacilities(positionImageCount7, 7, positionImageViewList, TYPE_POSITION7); break; case TYPE_POSITION8: positionImageCount8++; - updateBrandOrfacilities(positionImageCount8,8,positionImageViewList,TYPE_POSITION8); + updateBrandOrfacilities(positionImageCount8, 8, positionImageViewList, TYPE_POSITION8); break; case TYPE_POSITION9: positionImageCount9++; - updateBrandOrfacilities(positionImageCount9,9,positionImageViewList,TYPE_POSITION9); + updateBrandOrfacilities(positionImageCount9, 9, positionImageViewList, TYPE_POSITION9); break; case TYPE_POSITION10: positionImageCount10++; - updateBrandOrfacilities(positionImageCount10,10,positionImageViewList,TYPE_POSITION10); + updateBrandOrfacilities(positionImageCount10, 10, positionImageViewList, TYPE_POSITION10); break; case TYPE_POSITION11: positionImageCount11++; - updateBrandOrfacilities(positionImageCount11,11,positionImageViewList,TYPE_POSITION11); + updateBrandOrfacilities(positionImageCount11, 11, positionImageViewList, TYPE_POSITION11); break; case TYPE_POSITION12: positionImageCount12++; - updateBrandOrfacilities(positionImageCount12,12,positionImageViewList,TYPE_POSITION12); + updateBrandOrfacilities(positionImageCount12, 12, positionImageViewList, TYPE_POSITION12); break; case TYPE_POSITION13: positionImageCount13++; - updateBrandOrfacilities(positionImageCount13,13,positionImageViewList,TYPE_POSITION13); + updateBrandOrfacilities(positionImageCount13, 13, positionImageViewList, TYPE_POSITION13); break; case TYPE_POSITION14: positionImageCount14++; - updateBrandOrfacilities(positionImageCount14,14,positionImageViewList,TYPE_POSITION14); + updateBrandOrfacilities(positionImageCount14, 14, positionImageViewList, TYPE_POSITION14); break; case TYPE_POSITION15: positionImageCount15++; - updateBrandOrfacilities(positionImageCount15,15,positionImageViewList,TYPE_POSITION15); + updateBrandOrfacilities(positionImageCount15, 15, positionImageViewList, TYPE_POSITION15); break; - case TYPE_UPDATE_MACTH://匹配是否更新数据 - handler.sendEmptyMessageDelayed(TYPE_UPDATE_MACTH,5*1000); + case TYPE_UPDATE_MACTH:// 匹配是否更新数据 + handler.sendEmptyMessageDelayed(TYPE_UPDATE_MACTH, 5 * 1000); - if(TimeUtil.stampTotime(System.currentTimeMillis()).equals("00:00") && isZeroPoint==false){ - //第二天凌晨 - isZeroPoint=true; - LoggerUtil.e("TYPE_UPDATE_MACTH","第二天凌晨更新日程"); + if (TimeUtil.stampTotime(System.currentTimeMillis()).equals("00:00") && isZeroPoint == false) { + // 第二天凌晨 + isZeroPoint = true; + LoggerUtil.e("TYPE_UPDATE_MACTH", "第二天凌晨更新日程"); sendEmptyMessage(TYPE_DOWNLOAD_FILE); - }else if(!TimeUtil.stampTotime(System.currentTimeMillis()).equals("00:00") && isZeroPoint==true){ - isZeroPoint=false; + } else if (!TimeUtil.stampTotime(System.currentTimeMillis()).equals("00:00") + && isZeroPoint == true) { + isZeroPoint = false; } break; - case TYPE_TIME_UPDATE_DATA://定时获取数据,有变化则更新 - handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA,600*1000); + case TYPE_TIME_UPDATE_DATA:// 定时获取数据,有变化则更新 + handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA, 600 * 1000); getProgData(true); break; - case TYPE_UPDATE_WEATHER0://天气更新 + case TYPE_UPDATE_WEATHER0:// 天气更新 try { String cityName = weatherComponents0.getConfig().getCityName(); - if(!cityName.isEmpty()){ - getWeather(cityName,null,null); - }else { - if(DeviceData.getDevice().getCity() !=null || !DeviceData.getDevice().getCity().isEmpty()){ - getWeather(DeviceData.getDevice().getCity(),null,null); + if (!cityName.isEmpty()) { + getWeather(cityName, null, null); + } else { + if (DeviceData.getDevice().getCity() != null + || !DeviceData.getDevice().getCity().isEmpty()) { + getWeather(DeviceData.getDevice().getCity(), null, null); } - }; - }catch (Exception e){ + } + ; + } catch (Exception e) { } break; - case TYPE_DOWNLOAD_FILE://下载文件 + case TYPE_DOWNLOAD_FILE:// 下载文件 - //下载完成 - LoggerUtil.e("TAG","下载完成"); - if(newdata!=null){ + // 下载完成 + LoggerUtil.e("TAG", "下载完成"); + if (newdata != null) { ScreenSaverData.saveScreenSaverList(newdata); } - program=0; - programme=0; - isChangProgramme = false;//日程切换 - startchangeProgram=0; - startImgTime=0; + program = 0; + programme = 0; + isChangProgramme = false;// 日程切换 + startchangeProgram = 0; + startImgTime = 0; - //清除 + // 清除 deleteView(); clearOtherImg(); - sendEmptyMessageDelayed(TYPE_START_PLAY_PROGRAM,1000); + sendEmptyMessageDelayed(TYPE_START_PLAY_PROGRAM, 1000); break; - case TYPE_START_PLAY_PROGRAM://下载完成后,开始播放日程 + case TYPE_START_PLAY_PROGRAM:// 下载完成后,开始播放日程 try { - LoggerUtil.e("TYPE_START_PLAY_PROGRAM","开始播放节目"); + LoggerUtil.e("TYPE_START_PLAY_PROGRAM", "开始播放节目"); startProgram(); - List screenSaverList = ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); + List screenSaverList = ScreenSaverData + .getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); String s = GsonUtil.getGson().toJson(screenSaverList); NewProgramBean newProgramBean = screenSaverList.get(0); - if(s.contains("\"typeCode\":\"map\"") || s.contains("\"typeCode\":\"brand_list\"")){ - //有地图组件 - for(NewProgramBean.schedule schedule1 : newProgramBean.getSchedule()){ - for(NewProgramBean.programs programs :schedule1.getPrograms()){ - for(NewProgramBean.components components : programs.getComponents()){ - ScreenSaverData. getGetMapData(context,StringUtil.strSplice(Constant.getBaseAddress(),"/api/msg/v1/client/getApi/",components.getCode()),null, null ); - getApiFileResourceList(context,StringUtil.strSplice(Constant.getBaseAddress(),"/api/msg/v1/client/getFileResourceList/",components.getCode()),null, null ); + if (s.contains("\"typeCode\":\"map\"") || s.contains("\"typeCode\":\"brand_list\"")) { + // 有地图组件 + for (NewProgramBean.schedule schedule1 : newProgramBean.getSchedule()) { + for (NewProgramBean.programs programs : schedule1.getPrograms()) { + for (NewProgramBean.components components : programs.getComponents()) { + ScreenSaverData.getGetMapData(context, + StringUtil.strSplice(Constant.getBaseAddress(), + "/api/msg/v1/client/getApi/", components.getCode()), + null, null); + getApiFileResourceList(context, StringUtil.strSplice(Constant.getBaseAddress(), + "/api/msg/v1/client/getFileResourceList/", components.getCode()), null, + null); break; } } } } - //没节目时候进入导视 + // 没节目时候进入导视 String deviceType = DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_TYPE); - if (!deviceType.equals("信发") && !deviceType.equals("双面屏") && !ScreenSaverData.isProgramPlay2()) { - LoggerUtil.e("TYPE_START_PLAY_PROGRAM","没节目时候进入导视"); - ARouter.getInstance().build(Constant.ROUTE_WEB_VIEW).withBoolean(Constant.KEY_LOAD_H5_URL, true).navigation(); + if (!deviceType.equals("信发") && !deviceType.equals("双面屏") + && !ScreenSaverData.isProgramPlay2()) { + LoggerUtil.e("TYPE_START_PLAY_PROGRAM", "没节目时候进入导视"); + ARouter.getInstance().build(Constant.ROUTE_WEB_VIEW) + .withBoolean(Constant.KEY_LOAD_H5_URL, true).navigation(); } - EventBus.getDefault().post(new MessageEvent(Constant.ACTION_RESTART_MY_PRESENTATION));//通知双面屏跟新节目 - }catch (Exception e){ - LoggerUtil.e("startProgram报错",e.getMessage()); - sendEmptyMessageDelayed(TYPE_DOWNLOAD_FILE,20*1000); + EventBus.getDefault().post(new MessageEvent(Constant.ACTION_RESTART_MY_PRESENTATION));// 通知双面屏跟新节目 + } catch (Exception e) { + LoggerUtil.e("startProgram报错", e.getMessage()); + sendEmptyMessageDelayed(TYPE_DOWNLOAD_FILE, 20 * 1000); } break; - case TYPE_JUDGE_START_PROGRAM://判断是否已经开始了节目播放(设备启动后避免节目不方便) - if(!isStartProgram){ - LoggerUtil.e("启动40秒后判断是否在播节目","开机未启动播放节目,强制开始播放节目"); + case TYPE_JUDGE_START_PROGRAM:// 判断是否已经开始了节目播放(设备启动后避免节目不方便) + if (!isStartProgram) { + LoggerUtil.e("启动40秒后判断是否在播节目", "开机未启动播放节目,强制开始播放节目"); startProgram(); - }else { - LoggerUtil.e("启动40秒后判断是否在播节目","有播放节目"); + } else { + LoggerUtil.e("启动40秒后判断是否在播节目", "有播放节目"); } break; - case TYPE_LOAD_MAP_DATA://下载地图组件数据 - + case TYPE_LOAD_MAP_DATA:// 下载地图组件数据 break; @@ -1255,7 +1325,8 @@ public class ViewScreenSaver extends ViewBase { } public void setData(List data) { - if (data == null) return; + if (data == null) + return; this.data = data; } @@ -1265,28 +1336,32 @@ public class ViewScreenSaver extends ViewBase { } public void showScreenSaver() { - if (binding.getRoot().getVisibility() == View.VISIBLE) return; + if (binding.getRoot().getVisibility() == View.VISIBLE) + return; binding.getRoot().setVisibility(View.VISIBLE); - if (handler != null) handler.sendEmptyMessage(PLAY_PROGRAM); + if (handler != null) + handler.sendEmptyMessage(PLAY_PROGRAM); } public void hideScreenSaver() { clearCache(); deleteView(); -// binding.getRoot().setVisibility(View.INVISIBLE); - if (handler != null) handler.removeMessages(PLAY_PROGRAM); + // binding.getRoot().setVisibility(View.INVISIBLE); + if (handler != null) + handler.removeMessages(PLAY_PROGRAM); } private void updateDataByZero(int index) { - if (index != 0) return; + if (index != 0) + return; setData(ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER)); ScreenSaverData.getProgramList(null, null, null); } /** * MQTT通知更新数据 - * */ - public void setNewData(){ + */ + public void setNewData() { handler.removeMessages(TYPE_TIME_UPDATE_DATA); handler.sendEmptyMessage(TYPE_TIME_UPDATE_DATA); @@ -1294,48 +1369,61 @@ public class ViewScreenSaver extends ViewBase { /** * 清除视频跟图片缓存(解决导视跳转屏保内存溢出问题) - * */ - public void clearCache(){ - if(binding.videoView0!=null){ + */ + public void clearCache() { + if (binding.videoView0 != null) { binding.videoView0.stopPlayback(); binding.videoView0.setBackground(null); } - if(binding.videoView1!=null){ + if (binding.videoView1 != null) { binding.videoView1.stopPlayback(); binding.videoView1.setBackground(null); } + if (binding.videoView2 != null) { + binding.videoView2.stopPlayback(); + binding.videoView2.setBackground(null); + } + if (binding.videoView3 != null) { + binding.videoView3.stopPlayback(); + binding.videoView3.setBackground(null); + } - if(binding.backgroundImage!=null){ + if (binding.backgroundImage != null) { binding.backgroundImage.setImageBitmap(null); binding.backgroundImage.setImageDrawable(null); } Glide.get(context).clearMemory(); - if(handler!=null){ + if (handler != null) { handler.removeMessages(TYPE_TIME_UPDATE_DATA); handler.removeMessages(TYPE_UPDATE_MACTH); handler.removeMessages(TYPE_JUDGE_START_PROGRAM); } } + /** * 销毁控件 - * */ - public void deleteView(){ + */ + public void deleteView() { try { - //恢复默认背景图 + // 恢复默认背景图 changeOldBackground(); isNextVideo = false; isStartProgram = false; - //视频切换 + // 视频切换 videoPlayCount0 = 0; videoPlayCount1 = 0; - startVideoTime=0; - isvideoPlay0=false; - isvideoPlay1=false; - - //图片切换 + videoPlayCount2 = 0; + videoPlayCount3 = 0; + startVideoTime = 0; + isvideoPlay0 = false; + isvideoPlay1 = false; + isvideoPlay2 = false; + isvideoPlay3 = false; + + // 图片切换 imagePlayCount0 = 0; imagePlayCount1 = 0; imagePlayCount2 = 0; @@ -1387,7 +1475,7 @@ public class ViewScreenSaver extends ViewBase { firstImagePlay14 = true; firstImagePlay15 = true; - //品牌 + // 品牌 brandImageCount0 = 0; brandImageCount1 = 0; brandImageCount2 = 0; @@ -1404,7 +1492,7 @@ public class ViewScreenSaver extends ViewBase { brandImageCount13 = 0; brandImageCount14 = 0; brandImageCount15 = 0; - //设施 + // 设施 facilitiesImageCount0 = 0; facilitiesImageCount1 = 0; facilitiesImageCount2 = 0; @@ -1421,48 +1509,50 @@ public class ViewScreenSaver extends ViewBase { facilitiesImageCount13 = 0; facilitiesImageCount14 = 0; facilitiesImageCount15 = 0; - //点位 - positionImageCount0 = 0; - positionImageCount1 = 0; - positionImageCount2 = 0; - positionImageCount3 = 0; - positionImageCount4 = 0; - positionImageCount5 = 0; - positionImageCount6 = 0; - positionImageCount7 = 0; - positionImageCount8 = 0; - positionImageCount9 = 0; - positionImageCount10 = 0; - positionImageCount11 = 0; - positionImageCount12 = 0; - positionImageCount13 = 0; - positionImageCount14 = 0; - positionImageCount15 = 0; + // 点位 + positionImageCount0 = 0; + positionImageCount1 = 0; + positionImageCount2 = 0; + positionImageCount3 = 0; + positionImageCount4 = 0; + positionImageCount5 = 0; + positionImageCount6 = 0; + positionImageCount7 = 0; + positionImageCount8 = 0; + positionImageCount9 = 0; + positionImageCount10 = 0; + positionImageCount11 = 0; + positionImageCount12 = 0; + positionImageCount13 = 0; + positionImageCount14 = 0; + positionImageCount15 = 0; shuipaifacenumb = 0; shuipaifacenumb_finish = 0; - if(sendRecordTimer!=null){ + if (sendRecordTimer != null) { sendRecordTimer.cancel(); - sendRecordTimer=null; + sendRecordTimer = null; } - //时间布局显示 + // 时间布局显示 try { binding.layoutTime0.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime1.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime2.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime3.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime4.getRoot().setVisibility(View.INVISIBLE); - }catch (Exception e){ - LoggerUtil.e("deleteView()报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("deleteView()报错", e.getMessage()); } - if(handler!=null){ - //清除节目更新 + if (handler != null) { + // 清除节目更新 handler.removeMessages(TYPE_UPDATE_PROGRAM); handler.removeMessages(TYPE_UPDATE_VIDEO0); handler.removeMessages(TYPE_UPDATE_VIDEO1); + handler.removeMessages(TYPE_UPDATE_VIDEO2); + handler.removeMessages(TYPE_UPDATE_VIDEO3); handler.removeMessages(TYPE_UPDATE_IMAGE0); handler.removeMessages(TYPE_UPDATE_IMAGE1); handler.removeMessages(TYPE_UPDATE_IMAGE2); @@ -1554,73 +1644,86 @@ public class ViewScreenSaver extends ViewBase { } try { - //清除视频 + // 清除视频 binding.layoutVideo0.setVisibility(View.GONE); - if( binding.videoView0.isPlaying()){ + if (binding.videoView0.isPlaying()) { binding.videoView0.pause(); } binding.layoutVideo0.setBackground(null); - - //binding.videoView1.setZOrderOnTop(false); - //binding.videoView1.setZOrderMediaOverlay(false); - binding.videoView1.setVisibility(View.GONE); + // binding.videoView1.setVisibility(View.GONE); binding.layoutVideo1.setVisibility(View.GONE); binding.layoutVideo1.setBackground(null); - if( binding.videoView1.isPlaying()){ + binding.layoutVideo2.setVisibility(View.GONE); + binding.layoutVideo2.setBackground(null); + binding.layoutVideo3.setVisibility(View.GONE); + binding.layoutVideo3.setBackground(null); + if (binding.videoView1.isPlaying()) { binding.videoView1.pause(); } - if(binding.videoView0!=null){ - binding.videoView0.stopPlayback(); - } - if(binding.videoView1!=null){ - binding.videoView1.stopPlayback(); - } - }catch (Exception e){ - LoggerUtil.e("deleteView()清除视频报错",e.getMessage()); + if (binding.videoView2.isPlaying()) { + binding.videoView2.pause(); + } + if (binding.videoView3.isPlaying()) { + binding.videoView3.pause(); + } + if (binding.videoView0 != null) { + binding.videoView0.stopPlayback(); + } + if (binding.videoView1 != null) { + binding.videoView1.stopPlayback(); + } + if (binding.videoView2 != null) { + binding.videoView2.stopPlayback(); + } + if (binding.videoView3 != null) { + binding.videoView3.stopPlayback(); + } + } catch (Exception e) { + LoggerUtil.e("deleteView()清除视频报错", e.getMessage()); } - //清除图片组件 + // 清除图片组件 clearImgView(); - if(textList!=null &&textList.size()>0){ + if (textList != null && textList.size() > 0) { textList.clear(); } - //清除文字 - if(MarqueeTextList!=null&&MarqueeTextList.size()>0){ - for(MarqueeTextView marqueeText : MarqueeTextList){ + // 清除文字 + if (MarqueeTextList != null && MarqueeTextList.size() > 0) { + for (MarqueeTextView marqueeText : MarqueeTextList) { binding.relativeLayoutMax.removeView(marqueeText); } MarqueeTextList.clear(); } - if(textViewlist2!=null&&textViewlist2.size()>0){ - for(TextView marqueeText : textViewlist2){ + if (textViewlist2 != null && textViewlist2.size() > 0) { + for (TextView marqueeText : textViewlist2) { binding.relativeLayoutMax.removeView(marqueeText); } textViewlist2.clear(); } - if(AutoScrollTextList!=null&&AutoScrollTextList.size()>0){ - for(AutoScrollTextView autoScrollText : AutoScrollTextList){ + if (AutoScrollTextList != null && AutoScrollTextList.size() > 0) { + for (AutoScrollTextView autoScrollText : AutoScrollTextList) { binding.relativeLayoutMax.removeView(autoScrollText); } AutoScrollTextList.clear(); } - if(webList!=null&& webList.size()>0){ - for(WebView webView : webList){ + if (webList != null && webList.size() > 0) { + for (WebView webView : webList) { binding.relativeLayoutMax.removeView(webView); } webList.clear(); } - //清除天气列表 - if(recycle_weather0!=null){ + // 清除天气列表 + if (recycle_weather0 != null) { binding.relativeLayoutMax.removeView(recycle_weather0); } - //清除视频直播 - if(livePlaylist!=null&&livePlaylist.size()>0){ - for(IjkPlayerView ijkPlayerView :livePlaylist){ - if(ijkPlayerView!=null){ + // 清除视频直播 + if (livePlaylist != null && livePlaylist.size() > 0) { + for (IjkPlayerView ijkPlayerView : livePlaylist) { + if (ijkPlayerView != null) { ijkPlayerView.stop(); binding.relativeLayoutMax.removeView(ijkPlayerView); } @@ -1628,48 +1731,48 @@ public class ViewScreenSaver extends ViewBase { livePlaylist.clear(); } - //回收音频资源 + // 回收音频资源 if (mediaPlayer0 != null && mediaPlayer0.isPlaying()) { mediaPlayer0.stop(); mediaPlayer0.release(); mediaPlayer0 = null; } - //清除json动图列表 - if(ltGiftList.size()>0){ - for( LottieAnimationView lottie : ltGiftList){ + // 清除json动图列表 + if (ltGiftList.size() > 0) { + for (LottieAnimationView lottie : ltGiftList) { binding.relativeLayoutMax.removeView(lottie); } ltGiftList.clear(); } - //清除公共设施图片 - if(imageViewlist!=null&&imageViewlist.size()>0){ - for(ImageView imageView: imageViewlist){ + // 清除公共设施图片 + if (imageViewlist != null && imageViewlist.size() > 0) { + for (ImageView imageView : imageViewlist) { binding.relativeLayoutMax.removeView(imageView); } imageViewlist.clear(); } - //清除text - if(textViewlist!=null&&textViewlist.size()>0){ - for(MarqueeTextView2 textView: textViewlist){ + // 清除text + if (textViewlist != null && textViewlist.size() > 0) { + for (MarqueeTextView2 textView : textViewlist) { binding.relativeLayoutMax.removeView(textView); } textViewlist.clear(); } - }catch (Exception e){ - LoggerUtil.e("deleteView()报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("deleteView()报错", e.getMessage()); } } /** * 清除图片组件 - * */ - public void clearImgView(){ + */ + public void clearImgView() { try { - //清除图片 + // 清除图片 binding.layoutImg0.setVisibility(View.GONE); binding.layoutImg1.setVisibility(View.GONE); binding.layoutImg2.setVisibility(View.GONE); @@ -1686,134 +1789,140 @@ public class ViewScreenSaver extends ViewBase { binding.layoutImg13.setVisibility(View.GONE); binding.layoutImg14.setVisibility(View.GONE); binding.layoutImg15.setVisibility(View.GONE); - }catch (Exception e){ - LoggerUtil.e("deleteView()清除图片报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("deleteView()清除图片报错", e.getMessage()); } - //设置背景颜色 + // 设置背景颜色 try { - if(nomallImgList!=null&&nomallImgList.size()>0){ - for(ImageView img :nomallImgList){ - if(img!=null){ + if (nomallImgList != null && nomallImgList.size() > 0) { + for (ImageView img : nomallImgList) { + if (img != null) { img.setImageBitmap(null); } } nomallImgList.clear(); } - }catch (Exception e){ - LoggerUtil.e("deleteView()图片报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("deleteView()图片报错", e.getMessage()); } } /** * 清除额外的图片 - * */ - public void clearOtherImg(){ - try{ - if(binding.otherImg0!=null){ + */ + public void clearOtherImg() { + try { + if (binding.otherImg0 != null) { binding.otherImg0.setImageBitmap(null); } - if(binding.otherImg1!=null){ + if (binding.otherImg1 != null) { binding.otherImg1.setImageBitmap(null); } - if(binding.otherImg2!=null){ + if (binding.otherImg2 != null) { binding.otherImg2.setImageBitmap(null); } - if(binding.otherImg3!=null){ + if (binding.otherImg3 != null) { binding.otherImg3.setImageBitmap(null); } - if(binding.otherImg4!=null){ + if (binding.otherImg4 != null) { binding.otherImg4.setImageBitmap(null); } - if(binding.otherImg5!=null){ + if (binding.otherImg5 != null) { binding.otherImg5.setImageBitmap(null); } - if(binding.otherImg6!=null){ + if (binding.otherImg6 != null) { binding.otherImg6.setImageBitmap(null); } - if(binding.otherImg7!=null){ + if (binding.otherImg7 != null) { binding.otherImg7.setImageBitmap(null); } - if(binding.otherImg8!=null){ + if (binding.otherImg8 != null) { binding.otherImg8.setImageBitmap(null); } - if(binding.otherImg9!=null){ + if (binding.otherImg9 != null) { binding.otherImg9.setImageBitmap(null); } - if(binding.otherImg10!=null){ + if (binding.otherImg10 != null) { binding.otherImg10.setImageBitmap(null); } - if(binding.otherImg11!=null){ + if (binding.otherImg11 != null) { binding.otherImg11.setImageBitmap(null); } - if(binding.otherImg12!=null){ + if (binding.otherImg12 != null) { binding.otherImg12.setImageBitmap(null); } - if(binding.otherImg13!=null){ + if (binding.otherImg13 != null) { binding.otherImg13.setImageBitmap(null); } - if(binding.otherImg14!=null){ + if (binding.otherImg14 != null) { binding.otherImg14.setImageBitmap(null); } - if(binding.otherImg15!=null){ + if (binding.otherImg15 != null) { binding.otherImg15.setImageBitmap(null); } - }catch (Exception e){ - LoggerUtil.e("clearOtherImg报错",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("clearOtherImg报错", e.getMessage()); } } - String downloadaddress; - public void start(){ - LoggerUtil.e("屏保页面调用","start"); - //设置透明列表 - colorMap = ColorUtil. getColorTransparent(); + + public void start() { + LoggerUtil.e("屏保页面调用", "start"); + // 设置透明列表 + colorMap = ColorUtil.getColorTransparent(); downloadaddress = DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP); - //4分后判断是是否开始播放了节目 + // 4分后判断是是否开始播放了节目 handler.removeMessages(TYPE_JUDGE_START_PROGRAM); - handler.sendEmptyMessageDelayed(TYPE_JUDGE_START_PROGRAM,240*1000); + handler.sendEmptyMessageDelayed(TYPE_JUDGE_START_PROGRAM, 240 * 1000); isStartProgram = false; - program=0; - programme=0; - isChangProgramme = false;//日程切换 - //匹配时间 + program = 0; + programme = 0; + isChangProgramme = false;// 日程切换 + // 匹配时间 handler.removeMessages(TYPE_UPDATE_MACTH); handler.sendEmptyMessage(TYPE_UPDATE_MACTH); - if(!ScreenSaverData.isProgramList()){ - //30秒拉取数据 + if (!ScreenSaverData.isProgramList()) { + // 30秒拉取数据 handler.removeMessages(TYPE_TIME_UPDATE_DATA); - handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA,30*1000); - }else { - //10分钟定时拉取数据 + handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA, 30 * 1000); + } else { + // 10分钟定时拉取数据 handler.removeMessages(TYPE_TIME_UPDATE_DATA); - handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA,600*1000); + handler.sendEmptyMessageDelayed(TYPE_TIME_UPDATE_DATA, 600 * 1000); } - deleteView(); - //开始播放日程 - startProgram(); + deleteView(); + // 开始播放日程 + startProgram(); } - //同屏视频 - public void videoProgramByIndex(int index){ - if(Constant.isMain || handler==null)return; - if(binding.layoutVideo0.getVisibility()==View.INVISIBLE || binding.layoutVideo0.getVisibility()==View.GONE){ + // 同屏视频 + public void videoProgramByIndex(int index) { + if (Constant.isMain || handler == null) + return; + if (binding.layoutVideo0.getVisibility() == View.INVISIBLE + || binding.layoutVideo0.getVisibility() == View.GONE) { return; } - videoPlayCount0=index; - LoggerUtil.e("同屏:", "视频下标:"+ String.valueOf(videoPlayCount0)); + videoPlayCount0 = index; + videoPlayCount1 = index; + videoPlayCount2 = index; + videoPlayCount3 = index; + LoggerUtil.e("同屏:", "视频下标:" + String.valueOf(videoPlayCount0)); handler.removeMessages(TYPE_UPDATE_VIDEO0); handler.sendEmptyMessage(TYPE_UPDATE_VIDEO0); } - //同屏图片 - public void imgProgramByIndex(int index){ - if(Constant.isMain || handler==null)return; - if(binding.layoutImg0.getVisibility()==View.INVISIBLE || binding.layoutImg0.getVisibility() == View.GONE){ + // 同屏图片 + public void imgProgramByIndex(int index) { + if (Constant.isMain || handler == null) + return; + if (binding.layoutImg0.getVisibility() == View.INVISIBLE || binding.layoutImg0.getVisibility() == View.GONE) { return; } imagePlayCount0 = index; @@ -1821,133 +1930,137 @@ public class ViewScreenSaver extends ViewBase { handler.sendEmptyMessage(TYPE_UPDATE_IMAGE0); } - //同屏节目 - public void programByIndex(int index){ - if(Constant.isMain || handler==null)return; - program=index; + // 同屏节目 + public void programByIndex(int index) { + if (Constant.isMain || handler == null) + return; + program = index; handler.sendEmptyMessage(TYPE_UPDATE_PROGRAM); } + /** * 从新获取信息发布 * istiming 定时获取 - * */ - NewProgramBean currentProgramBean;//当天的日程 + */ + NewProgramBean currentProgramBean;// 当天的日程 List screenSaverList; -// Object newdata;//用于素材下载完成后更新数据 - String newdata;//用于素材下载完成后更新数据 - - public void getProgData(boolean istiming){ + // Object newdata;//用于素材下载完成后更新数据 + String newdata;// 用于素材下载完成后更新数据 + + public void getProgData(boolean istiming) { + + RetrofitUtil.getBaseService().getprogram(DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE)) + .enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + try { + if (StringUtil.respSuccess(response.body())) { + // LoggerUtil.e("queryScreenProgramList", "拉取节目数据:"+new + // Gson().toJson(response.body())); + if (response.body().getData() == null) { + // 防止后台返回null,而不播放节目 + LoggerUtil.e("queryScreenProgramList报错", "后台返回body().getData()为null"); + getProgramError(); + return; + } - RetrofitUtil.getBaseService().getprogram(DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE)).enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - try { - if (StringUtil.respSuccess(response.body())) { -// LoggerUtil.e("queryScreenProgramList", "拉取节目数据:"+new Gson().toJson(response.body())); - if(response.body().getData()==null){ - //防止后台返回null,而不播放节目 - LoggerUtil.e("queryScreenProgramList报错", "后台返回body().getData()为null"); - getProgramError(); - return; - } + String decryptdataJson = AesUtil.decrypt((String.valueOf(response.body().getData()))); + if (decryptdataJson.equals("解密失败")) { + ScreenSaverData.saveScreenNewSaverList(response.body().getData()); - String decryptdataJson = AesUtil.decrypt((String.valueOf(response.body().getData()))); - if(decryptdataJson.equals("解密失败")) { - ScreenSaverData.saveScreenNewSaverList(response.body().getData()); + } else { + ScreenSaverData.saveScreenNewSaverList(decryptdataJson); + } - }else { - ScreenSaverData.saveScreenNewSaverList(decryptdataJson); - } + // ScreenSaverData.saveScreenNewSaverList(response.body().getData()); + String screenNewSaverListJson = ScreenSaverData.getScreenNewSaverListJson(); + String screenSaverListJson = ScreenSaverData.getScreenSaverListJson(); + List screenNewSaverList = ScreenSaverData.getScreenNewSaverList(); + // newdata = response.body().getData(); + newdata = screenNewSaverListJson; -// ScreenSaverData.saveScreenNewSaverList(response.body().getData()); - String screenNewSaverListJson = ScreenSaverData.getScreenNewSaverListJson(); - String screenSaverListJson = ScreenSaverData.getScreenSaverListJson(); - List screenNewSaverList = ScreenSaverData.getScreenNewSaverList(); -// newdata = response.body().getData(); - newdata = screenNewSaverListJson; + // 定时获取 ,不同数据更新 + if (istiming && screenNewSaverListJson.equals(screenSaverListJson)) { + return; + } - //定时获取 ,不同数据更新 - if(istiming && screenNewSaverListJson.equals(screenSaverListJson)){ - return; - } + if (screenNewSaverList == null || screenNewSaverList.size() <= 0) { + ScreenSaverData.saveScreenSaverList(newdata); - if( screenNewSaverList == null || screenNewSaverList.size() <= 0){ - ScreenSaverData.saveScreenSaverList(newdata); + return; + } - return; + Log.e("TAG", "数据不同,更新布局"); + if (!istiming) { + LoggerUtil.e("queryScreenProgramList", "第一次拉取节目开始下载播放"); + } else { + LoggerUtil.e("queryScreenProgramList", "拉取数据,发现不同节目数据进行更新"); + } + LoggerUtil.e("queryScreenProgramList", "新数据:" + screenNewSaverListJson); + bigFiles.clear(); + downloadCount = 0; + getImgUrl(screenNewSaverListJson, "/iotFile"); + downloadFiles(true); + + } else { + // 防止后台返回null,而不播放节目 + LoggerUtil.e("queryScreenProgramList报错", "后台返回body为null"); + getProgramError(); + } + } catch (Throwable t) { + LoggerUtil.e("queryScreenProgramList", "报错:" + StringUtil.getThrowableStr(t)); + if (!istiming) { + getProgramError(); + } } + } - Log.e("TAG","数据不同,更新布局"); - if(!istiming){ - LoggerUtil.e("queryScreenProgramList", "第一次拉取节目开始下载播放"); - }else { - LoggerUtil.e("queryScreenProgramList", "拉取数据,发现不同节目数据进行更新"); + @Override + public void onFailure(Call call, Throwable t) { + LoggerUtil.saveError("queryScreenProgramList", t); + if (!istiming) { + getProgramError(); } - LoggerUtil.e("queryScreenProgramList", "新数据:"+screenNewSaverListJson); - bigFiles.clear(); - downloadCount=0; - getImgUrl(screenNewSaverListJson,"/iotFile"); - downloadFiles(true); - - }else { - //防止后台返回null,而不播放节目 - LoggerUtil.e("queryScreenProgramList报错", "后台返回body为null"); - getProgramError(); - } - } catch (Throwable t) { - LoggerUtil.e("queryScreenProgramList", "报错:"+StringUtil.getThrowableStr(t)); - if(!istiming){ - getProgramError(); } - } - } - - @Override - public void onFailure(Call call, Throwable t) { - LoggerUtil.saveError("queryScreenProgramList",t); - if(!istiming){ - getProgramError(); - } - } - }); + }); } /** * 获取节目列表数据异常进行处理 - * */ - public void getProgramError(){ - List newScreenSaverList = ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); - //判断获取2天的日程 - if(newScreenSaverList == null || newScreenSaverList.size() == 0){ + */ + public void getProgramError() { + List newScreenSaverList = ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); + // 判断获取2天的日程 + if (newScreenSaverList == null || newScreenSaverList.size() == 0) { LoggerUtil.e("getProgramError", "获取到的节目数据为空"); return; } String s1 = new Gson().toJson(newScreenSaverList); bigFiles.clear(); - downloadCount=0; - getImgUrl(s1,"/iotFile"); + downloadCount = 0; + getImgUrl(s1, "/iotFile"); downloadFiles(true); } /** * 只拉取数据 - * */ - public void getProgData2(){ + */ + public void getProgData2() { - //获取节目数据 + // 获取节目数据 ScreenSaverData.getProgramList(null, new QueryFinishListener() { @Override public void onFinish() { screenSaverList = ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); - //判断获取2天的日程 - if(screenSaverList==null||screenSaverList.size()==0){ + // 判断获取2天的日程 + if (screenSaverList == null || screenSaverList.size() == 0) { return; } String s1 = new Gson().toJson(screenSaverList); bigFiles.clear(); - downloadCount=0; - getImgUrl(s1,"/iotFile"); + downloadCount = 0; + getImgUrl(s1, "/iotFile"); downloadFiles(false); } }, null); @@ -1958,17 +2071,17 @@ public class ViewScreenSaver extends ViewBase { * 获取图片路径 * data 数据 * params 条件 - * */ - private void getImgUrl(String data,String params){ + */ + private void getImgUrl(String data, String params) { - //判断是否字符串是否存在子字符,>0 存在的位置 -1不存在 - while (data.indexOf(params)>0){ + // 判断是否字符串是否存在子字符,>0 存在的位置 -1不存在 + while (data.indexOf(params) > 0) { String substring1 = data.substring(data.indexOf(params)); - int i1 = substring1.indexOf("\"");//通过最后双引号判断结束点 + int i1 = substring1.indexOf("\"");// 通过最后双引号判断结束点 String substring2 = substring1.substring(0, i1); -// Log.e("TAG","截取:"+substring2); - bigFiles.put(substring2,substring2); - data=substring1.substring(i1); + // Log.e("TAG","截取:"+substring2); + bigFiles.put(substring2, substring2); + data = substring1.substring(i1); } } @@ -1977,9 +2090,10 @@ public class ViewScreenSaver extends ViewBase { * ishandler 是否需要通知更新 */ public void downloadFiles(boolean ishandler) { - Log.e("TAG","文件下载的数量"+bigFiles.size()+",下载地址前缀"+DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP)); - if(bigFiles.size()<=0){ - if(ishandler) handler.sendEmptyMessage(TYPE_DOWNLOAD_FILE); + Log.e("TAG", "文件下载的数量" + bigFiles.size() + ",下载地址前缀" + DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP)); + if (bigFiles.size() <= 0) { + if (ishandler) + handler.sendEmptyMessage(TYPE_DOWNLOAD_FILE); return; } for (String bigFile : bigFiles.keySet()) { @@ -1988,12 +2102,12 @@ public class ViewScreenSaver extends ViewBase { } } - private void downloadFile(String imgPath, final String address , boolean ishandler) { + private void downloadFile(String imgPath, final String address, boolean ishandler) { File file = new File(StringUtil.strSplice(Constant.CACHE_PATH, address)); if (file.exists()) { - if(ishandler){ - downloadCount++ ; + if (ishandler) { + downloadCount++; downCount(); } return; @@ -2001,103 +2115,106 @@ public class ViewScreenSaver extends ViewBase { FileUtil.downloadFile2(StringUtil.strSplice(imgPath, address), StringUtil.strSplice( Constant.CACHE_PATH, address), new QueryFinishListener() { - @Override - public void onFinish() { - if(ishandler){ - downloadCount++ ; - downCount(); - } - } - }); + @Override + public void onFinish() { + if (ishandler) { + downloadCount++; + downCount(); + } + } + }); } /** * 下载完成度 - * */ - public void downCount(){ - if(bigFiles.size() == downloadCount){ + */ + public void downCount() { + if (bigFiles.size() == downloadCount) { handler.removeMessages(TYPE_DOWNLOAD_FILE); handler.sendEmptyMessage(TYPE_DOWNLOAD_FILE); } } - /** * 开始播放节目 - * */ - boolean isStartProgram = false;//开始播放节目的状态(用于判断开机后一直不进这个方法显示) - public void startProgram(){ - + */ + boolean isStartProgram = false;// 开始播放节目的状态(用于判断开机后一直不进这个方法显示) + + public void startProgram() { + screenSaverList = ScreenSaverData.getScreenSaverList(ScreenSaverData.TYPE_SCREEN_SAVER); - if(screenSaverList == null){ + if (screenSaverList == null) { return; } - //获取当天时间段 - for(NewProgramBean newProgramBean: screenSaverList){ - if(newProgramBean.date.equals(TimeUtil.stampToDate(System.currentTimeMillis()))){ + // 获取当天时间段 + for (NewProgramBean newProgramBean : screenSaverList) { + if (newProgramBean.date.equals(TimeUtil.stampToDate(System.currentTimeMillis()))) { currentProgramBean = newProgramBean; } } - if(currentProgramBean == null && screenSaverList.size()>0){ - LoggerUtil.e("startProgram()","网络问题暂未获取当天节目单,使用前天节目"); - //2天网络不通没有获取最新的节目单,沿用前一天日程。 + if (currentProgramBean == null && screenSaverList.size() > 0) { + LoggerUtil.e("startProgram()", "网络问题暂未获取当天节目单,使用前天节目"); + // 2天网络不通没有获取最新的节目单,沿用前一天日程。 currentProgramBean = screenSaverList.get(screenSaverList.size() - 1); String s = TimeUtil.stampToDate(System.currentTimeMillis()); currentProgramBean.setDate(s); } - if(currentProgramBean!=null&&!currentProgramBean.getDate().equals(TimeUtil.stampToDate(System.currentTimeMillis()))){ - LoggerUtil.e("startProgram()","多天网络问题,使用前天数据"); + if (currentProgramBean != null + && !currentProgramBean.getDate().equals(TimeUtil.stampToDate(System.currentTimeMillis()))) { + LoggerUtil.e("startProgram()", "多天网络问题,使用前天数据"); String s = TimeUtil.stampToDate(System.currentTimeMillis()); currentProgramBean.setDate(s); } - if(currentProgramBean==null || currentProgramBean.getSchedule().size()<=0){ - LoggerUtil.e("startProgram()","当前日程里没有节目"); + if (currentProgramBean == null || currentProgramBean.getSchedule().size() <= 0) { + LoggerUtil.e("startProgram()", "当前日程里没有节目"); return; } - //当天里面的日程 - for(int i=0;i beginTimeLong && currentlong < endTimeLong ){ - //正在进行中 - programme= i ; + if (currentlong > beginTimeLong && currentlong < endTimeLong) { + // 正在进行中 + programme = i; handler.removeMessages(TYPE_UPDATE_PROGRAM); handler.removeMessages(TYPE_UPDATE_PROGRAMME); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME,endTimeLong-System.currentTimeMillis()); - //提前5秒获取下个日程的第一个节目的图片 -// handler.sendEmptyMessageDelayed(TYPE_GET_NEXT_PROGRAMME_OTHER_IMG,endTimeLong-(System.currentTimeMillis()+5000)); - //开始播放进行中的日程 - if(schedule==null){ + handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME, endTimeLong - System.currentTimeMillis()); + // 提前5秒获取下个日程的第一个节目的图片 + // handler.sendEmptyMessageDelayed(TYPE_GET_NEXT_PROGRAMME_OTHER_IMG,endTimeLong-(System.currentTimeMillis()+5000)); + // 开始播放进行中的日程 + if (schedule == null) { return; } - program=0; - createView( schedule , program); + program = 0; + createView(schedule, program); break; - }else if( currentlong < beginTimeLong ){ - //未开始 - programme= -1 ; + } else if (currentlong < beginTimeLong) { + // 未开始 + programme = -1; handler.removeMessages(TYPE_UPDATE_PROGRAM); - Log.e("TAG","未开始,等待"); + Log.e("TAG", "未开始,等待"); handler.removeMessages(TYPE_UPDATE_PROGRAMME); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME,beginTimeLong - System.currentTimeMillis()); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAMME, beginTimeLong - System.currentTimeMillis()); break; } } catch (Exception e) { - LoggerUtil.e("startProgram","报错:"+e.getMessage()); + LoggerUtil.e("startProgram", "报错:" + e.getMessage()); e.printStackTrace(); } } @@ -2105,188 +2222,195 @@ public class ViewScreenSaver extends ViewBase { /** * 创建控件 - * */ - Timer sendRecordTimer;//发送节目单记录定时器 + */ + Timer sendRecordTimer;// 发送节目单记录定时器 int nextimg = 0; - public void createView( NewProgramBean.schedule schedule ,int position){ - nextimg= position ; + + public void createView(NewProgramBean.schedule schedule, int position) { + nextimg = position; NewProgramBean.programs programme = schedule.getPrograms().get(position); - //获取节目时长 + // 获取节目时长 String[] split = programme.getDuration().split(":"); - int duration = Integer.parseInt(split[0])*3600*1000+Integer.parseInt(split[1])*60*1000+Integer.parseInt(split[2])*1000; - //只有一个的时候不会从新创建 - if(schedule.getPrograms().size()>1){ - //节目更新 - if(Constant.isSecondary && !Constant.isMain){ - //从设备不主动更新节目 - Log.e("TAG","从设备不主动更新"); - }else { - handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAM,duration); + int duration = Integer.parseInt(split[0]) * 3600 * 1000 + Integer.parseInt(split[1]) * 60 * 1000 + + Integer.parseInt(split[2]) * 1000; + // 只有一个的时候不会从新创建 + if (schedule.getPrograms().size() > 1) { + // 节目更新 + if (Constant.isSecondary && !Constant.isMain) { + // 从设备不主动更新节目 + Log.e("TAG", "从设备不主动更新"); + } else { + handler.sendEmptyMessageDelayed(TYPE_UPDATE_PROGRAM, duration); program++; } - ScreenSaverData.uploadPlayRecord(programme.getCode(),programme.getDuration(),null,null); - }else { - //需要定时发送上传节目单记录 + ScreenSaverData.uploadPlayRecord(programme.getCode(), programme.getDuration(), null, null); + } else { + // 需要定时发送上传节目单记录 try { sendRecordTimer = new Timer(); - if(duration>10000){ + if (duration > 10000) { sendRecordTimer.schedule(new TimerTask() { @Override public void run() { - ScreenSaverData.uploadPlayRecord(programme.getCode(),programme.getDuration(),null,null); + ScreenSaverData.uploadPlayRecord(programme.getCode(), programme.getDuration(), null, null); } - },duration, duration); - }else{ + }, duration, duration); + } else { sendRecordTimer.schedule(new TimerTask() { @Override public void run() { - ScreenSaverData.uploadPlayRecord(programme.getCode(),programme.getDuration(),null,null); + ScreenSaverData.uploadPlayRecord(programme.getCode(), programme.getDuration(), null, null); } - },duration); + }, duration); } - }catch (Exception e){ + } catch (Exception e) { } } - if(programme.getComponents()==null || programme.getComponents().size()<=0){ - LoggerUtil.e("TAG","获取到的节目控件列表为0"); - }else { - int videoCount=0; - int imageCount=0; - int weatherCount=0; - int textCount=0; - int clockCount=0; - int onlineWebCount=0; - int facilitiesCount=0; - int brandCount=0; - int positionCount=0; - for(int i=0;i { /** * 公共设施lgo - * */ + */ List imageViewlist = new ArrayList<>(); - List facilitiesImageViewList = new ArrayList<>();//设施图片控件 - List brandImageViewList = new ArrayList<>();//设施图片控件 - List positionImageViewList = new ArrayList<>();//设施图片控件 + List facilitiesImageViewList = new ArrayList<>();// 设施图片控件 + List brandImageViewList = new ArrayList<>();// 设施图片控件 + List positionImageViewList = new ArrayList<>();// 设施图片控件 - public void initSignImageLogo(NewProgramBean.subComponents subComponents , String type , int position){ - if(subComponents.getMaterials()==null||subComponents.getMaterials().size()<=0){ + public void initSignImageLogo(NewProgramBean.subComponents subComponents, String type, int position) { + if (subComponents.getMaterials() == null || subComponents.getMaterials().size() <= 0) { return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), subComponents.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), + subComponents.getHeight()); lParams.setMargins(subComponents.getOffsetX(), subComponents.getOffsetY(), 0, 0); ImageView imageView0 = new ImageView(context); binding.relativeLayoutMax.addView(imageView0, lParams); imageViewlist.add(imageView0); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, subComponents.getMaterials().get(0).getFileUrl() ,imageView0); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, subComponents.getMaterials().get(0).getFileUrl(), + imageView0); FacilitiesBean facilitiesBean = new FacilitiesBean(); facilitiesBean.setImageView(imageView0); facilitiesBean.setType("image"); facilitiesBean.setPosition(position); facilitiesBean.setTransitionPeriod(subComponents.getConfig().getTransitionPeriod()); facilitiesBean.setMaterials(subComponents.getMaterials()); - if(type.equals("brand")){ + if (type.equals("brand")) { brandImageViewList.add(facilitiesBean); - }else if(type.equals("facility")){ + } else if (type.equals("facility")) { facilitiesImageViewList.add(facilitiesBean); - }else if(type.equals("position")){ + } else if (type.equals("position")) { positionImageViewList.add(facilitiesBean); } } - /** * 公共设施json动图 - * */ - private void initSignImageLogoLottie(NewProgramBean.subComponents subComponents , String type , int position){ + */ + private void initSignImageLogoLottie(NewProgramBean.subComponents subComponents, String type, int position) { - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), subComponents.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), + subComponents.getHeight()); lParams.setMargins(subComponents.getOffsetX(), subComponents.getOffsetY(), 0, 0); String localPath2 = StringUtil.strSplice(Constant.CACHE_PATH, subComponents.getMaterials().get(0).getFileUrl()); - String url=FileUtil.readLocalJsonForStorage(context,localPath2); + String url = FileUtil.readLocalJsonForStorage(context, localPath2); LottieAnimationView ltGift = new LottieAnimationView(context); binding.relativeLayoutMax.addView(ltGift, lParams); ltGift.setAnimationFromJson(url); @@ -2349,232 +2475,239 @@ public class ViewScreenSaver extends ViewBase { facilitiesBean.setPosition(position); facilitiesBean.setTransitionPeriod(subComponents.getConfig().getTransitionPeriod()); facilitiesBean.setMaterials(subComponents.getMaterials()); - if(type.equals("brand")){ + if (type.equals("brand")) { brandImageViewList.add(facilitiesBean); - }else if(type.equals("facility")){ + } else if (type.equals("facility")) { facilitiesImageViewList.add(facilitiesBean); - }else if(type.equals("position")){ + } else if (type.equals("position")) { positionImageViewList.add(facilitiesBean); } } /** * 更新设施跟品牌轮播 - * */ - private void updateBrandOrfacilities(int count, int position ,List list, int handlerType){ - for(FacilitiesBean facilitiesBean: list){ - if(facilitiesBean.getPosition()==position){ - if(facilitiesBean.getType().equals("image")){ - //图片 - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getFileUrl(),facilitiesBean.getImageView()); - }else if(facilitiesBean.getType().equals("lottie")){ - //动图 - String localPath2 = StringUtil.strSplice(Constant.CACHE_PATH, facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getFileUrl()); - String url=FileUtil.readLocalJsonForStorage(context,localPath2); + */ + private void updateBrandOrfacilities(int count, int position, List list, int handlerType) { + for (FacilitiesBean facilitiesBean : list) { + if (facilitiesBean.getPosition() == position) { + if (facilitiesBean.getType().equals("image")) { + // 图片 + BitmapUtil.loadImage( + downloadaddress, Constant.CACHE_PATH, facilitiesBean.getMaterials() + .get(count % facilitiesBean.getMaterials().size()).getFileUrl(), + facilitiesBean.getImageView()); + } else if (facilitiesBean.getType().equals("lottie")) { + // 动图 + String localPath2 = StringUtil.strSplice(Constant.CACHE_PATH, facilitiesBean.getMaterials() + .get(count % facilitiesBean.getMaterials().size()).getFileUrl()); + String url = FileUtil.readLocalJsonForStorage(context, localPath2); LottieAnimationView ltGift = facilitiesBean.getLottieView(); ltGift.setAnimationFromJson(url); ltGift.loop(true); ltGift.playAnimation(); - }else if(facilitiesBean.getType().equals("text")){ - //文字 - facilitiesBean.getTextView().setTextinfo(facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getText()); + } else if (facilitiesBean.getType().equals("text")) { + // 文字 + facilitiesBean.getTextView().setTextinfo( + facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getText()); facilitiesBean.getTextView().setVisibility(View.INVISIBLE); facilitiesBean.getTextView().setVisibility(View.VISIBLE); - }else if(facilitiesBean.getType().equals("text2")){ - //文字 - facilitiesBean.getTextView2().setText(facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getText()); + } else if (facilitiesBean.getType().equals("text2")) { + // 文字 + facilitiesBean.getTextView2().setText( + facilitiesBean.getMaterials().get(count % facilitiesBean.getMaterials().size()).getText()); } handler.removeMessages(handlerType); - handler.sendEmptyMessageDelayed(handlerType,facilitiesBean.getTransitionPeriod()*1000); + handler.sendEmptyMessageDelayed(handlerType, facilitiesBean.getTransitionPeriod() * 1000); } } } /** * 判断给handler定时轮播 - * */ - private void sendhandlerBrandOrFacilities(NewProgramBean.components components,String type, int position){ - if(type.equals("brand")&& components.getSubComponents().get(0).getMaterials().size()>1){ - //品牌 - if(position==0){ + */ + private void sendhandlerBrandOrFacilities(NewProgramBean.components components, String type, int position) { + if (type.equals("brand") && components.getSubComponents().get(0).getMaterials().size() > 1) { + // 品牌 + if (position == 0) { handler.removeMessages(TYPE_BRAND0); - handler.sendEmptyMessageDelayed(TYPE_BRAND0,components.getConfig().getTransitionPeriod()*1000); - }else if(position==1){ + handler.sendEmptyMessageDelayed(TYPE_BRAND0, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 1) { handler.removeMessages(TYPE_BRAND1); - handler.sendEmptyMessageDelayed(TYPE_BRAND1,components.getConfig().getTransitionPeriod()*1000); - }else if(position==2){ + handler.sendEmptyMessageDelayed(TYPE_BRAND1, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 2) { handler.removeMessages(TYPE_BRAND2); - handler.sendEmptyMessageDelayed(TYPE_BRAND2,components.getConfig().getTransitionPeriod()*1000); - }else if(position==3){ + handler.sendEmptyMessageDelayed(TYPE_BRAND2, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 3) { handler.removeMessages(TYPE_BRAND3); - handler.sendEmptyMessageDelayed(TYPE_BRAND3,components.getConfig().getTransitionPeriod()*1000); - }else if(position==4){ + handler.sendEmptyMessageDelayed(TYPE_BRAND3, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 4) { handler.removeMessages(TYPE_BRAND4); - handler.sendEmptyMessageDelayed(TYPE_BRAND4,components.getConfig().getTransitionPeriod()*1000); - }else if(position==5){ + handler.sendEmptyMessageDelayed(TYPE_BRAND4, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 5) { handler.removeMessages(TYPE_BRAND5); - handler.sendEmptyMessageDelayed(TYPE_BRAND5,components.getConfig().getTransitionPeriod()*1000); - }else if(position==6){ + handler.sendEmptyMessageDelayed(TYPE_BRAND5, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 6) { handler.removeMessages(TYPE_BRAND6); - handler.sendEmptyMessageDelayed(TYPE_BRAND6,components.getConfig().getTransitionPeriod()*1000); - }else if(position==7){ + handler.sendEmptyMessageDelayed(TYPE_BRAND6, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 7) { handler.removeMessages(TYPE_BRAND7); - handler.sendEmptyMessageDelayed(TYPE_BRAND7,components.getConfig().getTransitionPeriod()*1000); - }else if(position==8){ + handler.sendEmptyMessageDelayed(TYPE_BRAND7, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 8) { handler.removeMessages(TYPE_BRAND8); - handler.sendEmptyMessageDelayed(TYPE_BRAND8,components.getConfig().getTransitionPeriod()*1000); - }else if(position==9){ + handler.sendEmptyMessageDelayed(TYPE_BRAND8, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 9) { handler.removeMessages(TYPE_BRAND9); - handler.sendEmptyMessageDelayed(TYPE_BRAND9,components.getConfig().getTransitionPeriod()*1000); - }else if(position==10){ + handler.sendEmptyMessageDelayed(TYPE_BRAND9, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 10) { handler.removeMessages(TYPE_BRAND10); - handler.sendEmptyMessageDelayed(TYPE_BRAND10,components.getConfig().getTransitionPeriod()*1000); - }else if(position==11){ + handler.sendEmptyMessageDelayed(TYPE_BRAND10, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 11) { handler.removeMessages(TYPE_BRAND11); - handler.sendEmptyMessageDelayed(TYPE_BRAND11,components.getConfig().getTransitionPeriod()*1000); - }else if(position==12){ + handler.sendEmptyMessageDelayed(TYPE_BRAND11, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 12) { handler.removeMessages(TYPE_BRAND12); - handler.sendEmptyMessageDelayed(TYPE_BRAND12,components.getConfig().getTransitionPeriod()*1000); - }else if(position==13){ + handler.sendEmptyMessageDelayed(TYPE_BRAND12, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 13) { handler.removeMessages(TYPE_BRAND13); - handler.sendEmptyMessageDelayed(TYPE_BRAND13,components.getConfig().getTransitionPeriod()*1000); - }else if(position==14){ + handler.sendEmptyMessageDelayed(TYPE_BRAND13, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 14) { handler.removeMessages(TYPE_BRAND14); - handler.sendEmptyMessageDelayed(TYPE_BRAND14,components.getConfig().getTransitionPeriod()*1000); - }else if(position==15){ + handler.sendEmptyMessageDelayed(TYPE_BRAND14, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 15) { handler.removeMessages(TYPE_BRAND15); - handler.sendEmptyMessageDelayed(TYPE_BRAND15,components.getConfig().getTransitionPeriod()*1000); + handler.sendEmptyMessageDelayed(TYPE_BRAND15, components.getConfig().getTransitionPeriod() * 1000); } - }else if(type.equals("facility")&& components.getSubComponents().get(0).getMaterials().size()>1){ - //设施 - if(position==0){ + } else if (type.equals("facility") && components.getSubComponents().get(0).getMaterials().size() > 1) { + // 设施 + if (position == 0) { handler.removeMessages(TYPE_FACILITIES0); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES0,components.getConfig().getTransitionPeriod()*1000); - }else if(position==1){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES0, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 1) { handler.removeMessages(TYPE_FACILITIES1); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES1,components.getConfig().getTransitionPeriod()*1000); - }else if(position==2){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES1, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 2) { handler.removeMessages(TYPE_FACILITIES2); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES2,components.getConfig().getTransitionPeriod()*1000); - }else if(position==3){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES2, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 3) { handler.removeMessages(TYPE_FACILITIES3); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES3,components.getConfig().getTransitionPeriod()*1000); - }else if(position==4){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES3, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 4) { handler.removeMessages(TYPE_FACILITIES4); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES4,components.getConfig().getTransitionPeriod()*1000); - }else if(position==5){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES4, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 5) { handler.removeMessages(TYPE_FACILITIES5); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES5,components.getConfig().getTransitionPeriod()*1000); - }else if(position==6){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES5, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 6) { handler.removeMessages(TYPE_FACILITIES6); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES6,components.getConfig().getTransitionPeriod()*1000); - }else if(position==7){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES6, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 7) { handler.removeMessages(TYPE_FACILITIES7); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES7,components.getConfig().getTransitionPeriod()*1000); - }else if(position==8){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES7, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 8) { handler.removeMessages(TYPE_FACILITIES8); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES8,components.getConfig().getTransitionPeriod()*1000); - }else if(position==9){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES8, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 9) { handler.removeMessages(TYPE_FACILITIES9); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES9,components.getConfig().getTransitionPeriod()*1000); - }else if(position==10){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES9, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 10) { handler.removeMessages(TYPE_FACILITIES10); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES10,components.getConfig().getTransitionPeriod()*1000); - }else if(position==11){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES10, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 11) { handler.removeMessages(TYPE_FACILITIES11); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES11,components.getConfig().getTransitionPeriod()*1000); - }else if(position==12){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES11, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 12) { handler.removeMessages(TYPE_FACILITIES12); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES12,components.getConfig().getTransitionPeriod()*1000); - }else if(position==13){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES12, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 13) { handler.removeMessages(TYPE_FACILITIES13); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES13,components.getConfig().getTransitionPeriod()*1000); - }else if(position==14){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES13, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 14) { handler.removeMessages(TYPE_FACILITIES14); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES14,components.getConfig().getTransitionPeriod()*1000); - }else if(position==15){ + handler.sendEmptyMessageDelayed(TYPE_FACILITIES14, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 15) { handler.removeMessages(TYPE_FACILITIES15); - handler.sendEmptyMessageDelayed(TYPE_FACILITIES15,components.getConfig().getTransitionPeriod()*1000); + handler.sendEmptyMessageDelayed(TYPE_FACILITIES15, components.getConfig().getTransitionPeriod() * 1000); } - }else if(type.equals("position")&& components.getSubComponents().get(0).getMaterials().size()>1){ - //设施 - if(position==0){ + } else if (type.equals("position") && components.getSubComponents().get(0).getMaterials().size() > 1) { + // 设施 + if (position == 0) { handler.removeMessages(TYPE_POSITION0); - handler.sendEmptyMessageDelayed(TYPE_POSITION0,components.getConfig().getTransitionPeriod()*1000); - }else if(position==1){ + handler.sendEmptyMessageDelayed(TYPE_POSITION0, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 1) { handler.removeMessages(TYPE_POSITION1); - handler.sendEmptyMessageDelayed(TYPE_POSITION1,components.getConfig().getTransitionPeriod()*1000); - }else if(position==2){ + handler.sendEmptyMessageDelayed(TYPE_POSITION1, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 2) { handler.removeMessages(TYPE_POSITION2); - handler.sendEmptyMessageDelayed(TYPE_POSITION2,components.getConfig().getTransitionPeriod()*1000); - }else if(position==3){ + handler.sendEmptyMessageDelayed(TYPE_POSITION2, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 3) { handler.removeMessages(TYPE_POSITION3); - handler.sendEmptyMessageDelayed(TYPE_POSITION3,components.getConfig().getTransitionPeriod()*1000); - }else if(position==4){ + handler.sendEmptyMessageDelayed(TYPE_POSITION3, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 4) { handler.removeMessages(TYPE_POSITION4); - handler.sendEmptyMessageDelayed(TYPE_POSITION4,components.getConfig().getTransitionPeriod()*1000); - }else if(position==5){ + handler.sendEmptyMessageDelayed(TYPE_POSITION4, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 5) { handler.removeMessages(TYPE_POSITION5); - handler.sendEmptyMessageDelayed(TYPE_POSITION5,components.getConfig().getTransitionPeriod()*1000); - }else if(position==6){ + handler.sendEmptyMessageDelayed(TYPE_POSITION5, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 6) { handler.removeMessages(TYPE_POSITION6); - handler.sendEmptyMessageDelayed(TYPE_POSITION6,components.getConfig().getTransitionPeriod()*1000); - }else if(position==7){ + handler.sendEmptyMessageDelayed(TYPE_POSITION6, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 7) { handler.removeMessages(TYPE_POSITION7); - handler.sendEmptyMessageDelayed(TYPE_POSITION7,components.getConfig().getTransitionPeriod()*1000); - }else if(position==8){ + handler.sendEmptyMessageDelayed(TYPE_POSITION7, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 8) { handler.removeMessages(TYPE_POSITION8); - handler.sendEmptyMessageDelayed(TYPE_POSITION8,components.getConfig().getTransitionPeriod()*1000); - }else if(position==9){ + handler.sendEmptyMessageDelayed(TYPE_POSITION8, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 9) { handler.removeMessages(TYPE_POSITION9); - handler.sendEmptyMessageDelayed(TYPE_POSITION9,components.getConfig().getTransitionPeriod()*1000); - }else if(position==10){ + handler.sendEmptyMessageDelayed(TYPE_POSITION9, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 10) { handler.removeMessages(TYPE_POSITION10); - handler.sendEmptyMessageDelayed(TYPE_POSITION10,components.getConfig().getTransitionPeriod()*1000); - }else if(position==11){ + handler.sendEmptyMessageDelayed(TYPE_POSITION10, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 11) { handler.removeMessages(TYPE_POSITION11); - handler.sendEmptyMessageDelayed(TYPE_POSITION11,components.getConfig().getTransitionPeriod()*1000); - }else if(position==12){ + handler.sendEmptyMessageDelayed(TYPE_POSITION11, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 12) { handler.removeMessages(TYPE_POSITION12); - handler.sendEmptyMessageDelayed(TYPE_POSITION12,components.getConfig().getTransitionPeriod()*1000); - }else if(position==13){ + handler.sendEmptyMessageDelayed(TYPE_POSITION12, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 13) { handler.removeMessages(TYPE_POSITION13); - handler.sendEmptyMessageDelayed(TYPE_POSITION13,components.getConfig().getTransitionPeriod()*1000); - }else if(position==14){ + handler.sendEmptyMessageDelayed(TYPE_POSITION13, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 14) { handler.removeMessages(TYPE_POSITION14); - handler.sendEmptyMessageDelayed(TYPE_POSITION14,components.getConfig().getTransitionPeriod()*1000); - }else if(position==15){ + handler.sendEmptyMessageDelayed(TYPE_POSITION14, components.getConfig().getTransitionPeriod() * 1000); + } else if (position == 15) { handler.removeMessages(TYPE_POSITION15); - handler.sendEmptyMessageDelayed(TYPE_POSITION15,components.getConfig().getTransitionPeriod()*1000); + handler.sendEmptyMessageDelayed(TYPE_POSITION15, components.getConfig().getTransitionPeriod() * 1000); } } } + /** * 公共设施 - * */ + */ List textViewlist = new ArrayList<>(); List textViewlist2 = new ArrayList<>(); - public void initSignTxtDistance(NewProgramBean.subComponents subComponents,String type, int position){ - if(subComponents.getMaterials()==null||subComponents.getMaterials().size()<=0){ + + public void initSignTxtDistance(NewProgramBean.subComponents subComponents, String type, int position) { + if (subComponents.getMaterials() == null || subComponents.getMaterials().size() <= 0) { return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), subComponents.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(subComponents.getWidth(), + subComponents.getHeight()); lParams.setMargins(subComponents.getOffsetX(), subComponents.getOffsetY(), 0, 0); -// TextView textView = new TextView(this); - + // TextView textView = new TextView(this); + if (subComponents.getConfig().getAnimation().equals("固定")) { - if(subComponents.getConfig().getAnimation().equals("固定")){ - - TextView textView = new TextView(context); - if(subComponents.getConfig().getFontStyle().equals("正常")){ + TextView textView = new TextView(context); + if (subComponents.getConfig().getFontStyle().equals("正常")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); - }else if(subComponents.getConfig().getFontStyle().equals("加粗")){ + } else if (subComponents.getConfig().getFontStyle().equals("加粗")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - }else if(subComponents.getConfig().getFontStyle().equals("斜体")){ + } else if (subComponents.getConfig().getFontStyle().equals("斜体")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC)); - }else if(subComponents.getConfig().getFontStyle().equals("加粗、斜体")){ + } else if (subComponents.getConfig().getFontStyle().equals("加粗、斜体")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD_ITALIC)); } @@ -2582,28 +2715,29 @@ public class ViewScreenSaver extends ViewBase { textViewlist2.add(textView); ViewGroup.LayoutParams layoutParams = textView.getLayoutParams(); - layoutParams.width=subComponents.getWidth(); - layoutParams.height=subComponents.getHeight(); + layoutParams.width = subComponents.getWidth(); + layoutParams.height = subComponents.getHeight(); textView.setLayoutParams(layoutParams); FacilitiesBean facilitiesBean = new FacilitiesBean(); - facilitiesBean.setTextView2( textView ); + facilitiesBean.setTextView2(textView); facilitiesBean.setPosition(position); facilitiesBean.setType("text2"); facilitiesBean.setTransitionPeriod(subComponents.getConfig().getTransitionPeriod()); facilitiesBean.setMaterials(subComponents.getMaterials()); - if(type.equals("brand")){ + if (type.equals("brand")) { brandImageViewList.add(facilitiesBean); - }else if(type.equals("facility")){ + } else if (type.equals("facility")) { facilitiesImageViewList.add(facilitiesBean); - }else if(type.equals("position")){ + } else if (type.equals("position")) { positionImageViewList.add(facilitiesBean); } - if(subComponents.getConfig().getBackgroundColor()!=null&&!subComponents.getConfig().getBackgroundColor().isEmpty()){ + if (subComponents.getConfig().getBackgroundColor() != null + && !subComponents.getConfig().getBackgroundColor().isEmpty()) { String backgroundColor = subComponents.getConfig().getBackgroundColor(); - String backgroundOpacity = (String)colorMap.get(subComponents.getConfig().getBackgroundOpacity()); - backgroundColor="#"+backgroundOpacity+backgroundColor.substring(1); + String backgroundOpacity = (String) colorMap.get(subComponents.getConfig().getBackgroundOpacity()); + backgroundColor = "#" + backgroundOpacity + backgroundColor.substring(1); textView.setBackgroundColor(Color.parseColor(backgroundColor)); } @@ -2612,16 +2746,16 @@ public class ViewScreenSaver extends ViewBase { textView.setTextSize(subComponents.getConfig().getFontSize()); textView.setGravity(Gravity.CENTER_VERTICAL); - }else { - MarqueeTextView2 textView =new MarqueeTextView2(context); + } else { + MarqueeTextView2 textView = new MarqueeTextView2(context); - if(subComponents.getConfig().getFontStyle().equals("正常")){ + if (subComponents.getConfig().getFontStyle().equals("正常")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); - }else if(subComponents.getConfig().getFontStyle().equals("加粗")){ + } else if (subComponents.getConfig().getFontStyle().equals("加粗")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - }else if(subComponents.getConfig().getFontStyle().equals("斜体")){ + } else if (subComponents.getConfig().getFontStyle().equals("斜体")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC)); - }else if(subComponents.getConfig().getFontStyle().equals("加粗、斜体")){ + } else if (subComponents.getConfig().getFontStyle().equals("加粗、斜体")) { textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD_ITALIC)); } @@ -2629,73 +2763,81 @@ public class ViewScreenSaver extends ViewBase { textViewlist2.add(textView); ViewGroup.LayoutParams layoutParams = textView.getLayoutParams(); - layoutParams.width=subComponents.getWidth(); - layoutParams.height=subComponents.getHeight(); + layoutParams.width = subComponents.getWidth(); + layoutParams.height = subComponents.getHeight(); textView.setLayoutParams(layoutParams); FacilitiesBean facilitiesBean = new FacilitiesBean(); - facilitiesBean.setTextView( textView ); + facilitiesBean.setTextView(textView); facilitiesBean.setPosition(position); facilitiesBean.setType("text"); facilitiesBean.setTransitionPeriod(subComponents.getConfig().getTransitionPeriod()); facilitiesBean.setMaterials(subComponents.getMaterials()); - if(type.equals("brand")){ + if (type.equals("brand")) { brandImageViewList.add(facilitiesBean); - }else if(type.equals("facility")){ + } else if (type.equals("facility")) { facilitiesImageViewList.add(facilitiesBean); - }else if(type.equals("position")){ + } else if (type.equals("position")) { positionImageViewList.add(facilitiesBean); } - if(subComponents.getConfig().getBackgroundColor()!=null&&!subComponents.getConfig().getBackgroundColor().isEmpty()){ + if (subComponents.getConfig().getBackgroundColor() != null + && !subComponents.getConfig().getBackgroundColor().isEmpty()) { String backgroundColor = subComponents.getConfig().getBackgroundColor(); - String backgroundOpacity = (String)colorMap.get(subComponents.getConfig().getBackgroundOpacity()); - backgroundColor="#"+backgroundOpacity+backgroundColor.substring(1); + String backgroundOpacity = (String) colorMap.get(subComponents.getConfig().getBackgroundOpacity()); + backgroundColor = "#" + backgroundOpacity + backgroundColor.substring(1); textView.setBackgroundColor(Color.parseColor(backgroundColor)); } textView.setTextColor(Color.parseColor(subComponents.getConfig().getFontColor())); textView.setTextSize(subComponents.getConfig().getFontSize()); - textView.setTextinfo(subComponents.getMaterials().get(0).getText(),subComponents.getConfig().getFontSize(),subComponents.getWidth(), subComponents.getHeight()); + textView.setTextinfo(subComponents.getMaterials().get(0).getText(), subComponents.getConfig().getFontSize(), + subComponents.getWidth(), subComponents.getHeight()); textView.setGravity(Gravity.CENTER_VERTICAL); } -// if(components.getConfig().getAnimation().equals("自动")){ -// textView.setMarqueeRepeatLimit(3); -// textView.setFocusable(true); -// textView.setEllipsize(TextUtils.TruncateAt.MARQUEE); -// textView.setSingleLine(); -// textView.setFocusableInTouchMode(true); -// textView.setHorizontallyScrolling(true); -// textView.setSelected(true); -// } + // if(components.getConfig().getAnimation().equals("自动")){ + // textView.setMarqueeRepeatLimit(3); + // textView.setFocusable(true); + // textView.setEllipsize(TextUtils.TruncateAt.MARQUEE); + // textView.setSingleLine(); + // textView.setFocusableInTouchMode(true); + // textView.setHorizontallyScrolling(true); + // textView.setSelected(true); + // } } /** * 添加视频 - * */ + */ NewProgramBean.components videoComponents0; NewProgramBean.components videoComponents1; + NewProgramBean.components videoComponents2; + NewProgramBean.components videoComponents3; RelativeLayout videoLayout0; LinearLayout videoLayout1; - public void addVideoView( NewProgramBean.components components,int position){ + LinearLayout videoLayout2; + LinearLayout videoLayout3; + + public void addVideoView(NewProgramBean.components components, int position) { - //如果没有内容不创建 - if(components == null ||components.getMaterials()==null || components.getMaterials().size() <= 0){ + // 如果没有内容不创建 + if (components == null || components.getMaterials() == null || components.getMaterials().size() <= 0) { return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); - if(position==0){ + if (position == 0) { isNextVideo = true; isvideoPlay0 = true; binding.videoView0.pause(); binding.videoView0.seekTo(0); binding.layoutVideo0.setX(components.getOffsetX()); binding.layoutVideo0.setY(components.getOffsetY()); - ViewGroup.LayoutParams layoutParams = binding.layoutVideo0.getLayoutParams(); + ViewGroup.LayoutParams layoutParams = binding.layoutVideo0.getLayoutParams(); layoutParams.height = components.getHeight(); layoutParams.width = components.getWidth(); videoComponents0 = components; @@ -2713,43 +2855,43 @@ public class ViewScreenSaver extends ViewBase { binding.videoView0.setOnCompletionListener(new CustomerVideoView.OnCompletionListener() { @Override public void onCompletion() { - //判断如果是从设备且已连接,不切换 - if(!LocSocCliManager.getLocalSocketState()){ + // 判断如果是从设备且已连接,不切换 + if (!LocSocCliManager.getLocalSocketState()) { // 视频播放完成 handler.sendEmptyMessage(TYPE_UPDATE_VIDEO0); } } }); - //视频播放发送错误时回调 + // 视频播放发送错误时回调 binding.videoView0.setOnErrorListener(new CustomerVideoView.OnErrorListener() { @Override public boolean onError() { - //视频播放失败 + // 视频播放失败 return true; } }); - }else if(position==1){ - isvideoPlay1= true; + } else if (position == 1) { + isvideoPlay1 = true; binding.layoutVideo1.setX(components.getOffsetX()); binding.layoutVideo1.setY(components.getOffsetY()); - ViewGroup.LayoutParams layoutParams = binding.layoutVideo1.getLayoutParams(); + ViewGroup.LayoutParams layoutParams = binding.layoutVideo1.getLayoutParams(); layoutParams.height = components.getHeight(); layoutParams.width = components.getWidth(); binding.videoView1.pause(); binding.videoView1.seekTo(0); binding.layoutVideo1.setVisibility(View.VISIBLE); binding.layoutVideo1.bringToFront(); - //binding.videoView1.setZOrderOnTop(true); - //binding.videoView1.setZOrderMediaOverlay(true); + // binding.videoView1.setZOrderOnTop(true); + // binding.videoView1.setZOrderMediaOverlay(true); binding.videoView1.setVisibility(View.VISIBLE); - + binding.videoImg1.setVisibility(View.VISIBLE); videoComponents1 = components; handler.sendEmptyMessage(TYPE_UPDATE_VIDEO1); - + binding.videoView1.setOnPreparedListener(new CustomerVideoView.OnPreparedListener() { @Override public void onPrepared() { @@ -2761,24 +2903,110 @@ public class ViewScreenSaver extends ViewBase { binding.videoView1.setOnCompletionListener(new CustomerVideoView.OnCompletionListener() { @Override public void onCompletion() { - if(!LocSocCliManager.getLocalSocketState()){ + if (!LocSocCliManager.getLocalSocketState()) { // 视频播放完成时的操作 handler.sendEmptyMessage(TYPE_UPDATE_VIDEO1); } } }); - //视频播放发送错误时回调 + // 视频播放发送错误时回调 binding.videoView1.setOnErrorListener(new CustomerVideoView.OnErrorListener() { @Override public boolean onError() { - //视频播放失败 + // 视频播放失败 + return true; + } + }); + } else if (position == 2) { + isvideoPlay2 = true; + binding.layoutVideo2.setX(components.getOffsetX()); + binding.layoutVideo2.setY(components.getOffsetY()); + ViewGroup.LayoutParams layoutParams = binding.layoutVideo2.getLayoutParams(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); + binding.videoView2.pause(); + binding.videoView2.seekTo(0); + binding.layoutVideo2.setVisibility(View.VISIBLE); + binding.layoutVideo2.bringToFront(); + binding.videoView2.setVisibility(View.VISIBLE); + + binding.videoImg2.setVisibility(View.VISIBLE); + + videoComponents2 = components; + handler.sendEmptyMessage(TYPE_UPDATE_VIDEO2); + + binding.videoView2.setOnPreparedListener(new CustomerVideoView.OnPreparedListener() { + @Override + public void onPrepared() { + videoStartPlay(binding.videoView2, videoComponents2); + } + }); + + // 视频播放完成时的操作 + binding.videoView2.setOnCompletionListener(new CustomerVideoView.OnCompletionListener() { + @Override + public void onCompletion() { + if (!LocSocCliManager.getLocalSocketState()) { + // 视频播放完成时的操作 + handler.sendEmptyMessage(TYPE_UPDATE_VIDEO2); + } + } + }); + // 视频播放发送错误时回调 + binding.videoView2.setOnErrorListener(new CustomerVideoView.OnErrorListener() { + @Override + public boolean onError() { + // 视频播放失败 + return true; + } + }); + } else if (position == 3) { + isvideoPlay3 = true; + binding.layoutVideo3.setX(components.getOffsetX()); + binding.layoutVideo3.setY(components.getOffsetY()); + ViewGroup.LayoutParams layoutParams = binding.layoutVideo3.getLayoutParams(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); + binding.videoView3.pause(); + binding.videoView3.seekTo(0); + binding.layoutVideo3.setVisibility(View.VISIBLE); + binding.layoutVideo3.bringToFront(); + binding.videoView3.setVisibility(View.VISIBLE); + + binding.videoImg3.setVisibility(View.VISIBLE); + + videoComponents3 = components; + handler.sendEmptyMessage(TYPE_UPDATE_VIDEO3); + + binding.videoView3.setOnPreparedListener(new CustomerVideoView.OnPreparedListener() { + @Override + public void onPrepared() { + videoStartPlay(binding.videoView3, videoComponents3); + } + }); + + // 视频播放完成时的操作 + binding.videoView3.setOnCompletionListener(new CustomerVideoView.OnCompletionListener() { + @Override + public void onCompletion() { + if (!LocSocCliManager.getLocalSocketState()) { + // 视频播放完成时的操作 + handler.sendEmptyMessage(TYPE_UPDATE_VIDEO3); + } + } + }); + // 视频播放发送错误时回调 + binding.videoView3.setOnErrorListener(new CustomerVideoView.OnErrorListener() { + @Override + public boolean onError() { + // 视频播放失败 return true; } }); } } - private void videoStartPlay(CustomerVideoView vView, NewProgramBean.components components){ + private void videoStartPlay(CustomerVideoView vView, NewProgramBean.components components) { vView.setOnInfoListener(new CustomerVideoView.OnInfoListener() { @Override public void onInfo() { @@ -2786,11 +3014,11 @@ public class ViewScreenSaver extends ViewBase { } }); - //视频准备完毕,可以进行播放 - Log.e("TAG: ", String.valueOf(isvideoPlay0)+" "+String.valueOf(isvideoPlay1)); - if(components.getConfig().isPlayAudio()){ + // 视频准备完毕,可以进行播放 + Log.e("TAG: ", String.valueOf(isvideoPlay0) + " " + String.valueOf(isvideoPlay1)); + if (components.getConfig().isPlayAudio()) { vView.setVolume(1.0f); - }else { + } else { vView.setVolume(0f); } vView.start(); @@ -2798,17 +3026,22 @@ public class ViewScreenSaver extends ViewBase { /** * 更新video - * */ - public void updateVideo(NewProgramBean.components videoComponents, int videoPlayCount, CustomerVideoView videoView, int TYPE_UPDATE_VIDE){ - if(videoComponents.getMaterials()==null||videoComponents.getMaterials().size()==0){ + */ + public void updateVideo(NewProgramBean.components videoComponents, int videoPlayCount, CustomerVideoView videoView, + int TYPE_UPDATE_VIDE) { + if (videoComponents.getMaterials() == null || videoComponents.getMaterials().size() == 0) { return; } - if(videoPlayCount>=videoComponents.getMaterials().size()){ - videoPlayCount=0; - if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO0){ + if (videoPlayCount >= videoComponents.getMaterials().size()) { + videoPlayCount = 0; + if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO0) { videoPlayCount0 = 0; - }else if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO1){ - videoPlayCount1 = 0 ; + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO1) { + videoPlayCount1 = 0; + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO2) { + videoPlayCount2 = 0; + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO3) { + videoPlayCount3 = 0; } } @@ -2817,17 +3050,21 @@ public class ViewScreenSaver extends ViewBase { if (!new File(localPath).exists()) { FileUtil.downloadFile(downloadaddress + materials0.getFileUrl(), localPath); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE,2000); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE, 2000); return; } - if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO0){ + if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO0) { videoPlayCount0++; - }else if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO1){ + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO1) { videoPlayCount1++; + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO2) { + videoPlayCount2++; + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO3) { + videoPlayCount3++; } - if(materials0.getDuration()>0){ + if (materials0.getDuration() > 0) { try { if (videoView.isPlaying()) { videoView.pause(); @@ -2838,26 +3075,36 @@ public class ViewScreenSaver extends ViewBase { } catch (IllegalStateException e) { Log.e("ViewScreenSaver", "Error setting video path", e); } - }, 100); + }, 0); } catch (IllegalStateException e) { Log.e("ViewScreenSaver", "Error stopping video", e); } - }else { - //图片 - if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO0){ - ViewGroup.LayoutParams layoutParams = binding.videoView0.getLayoutParams(); + } else { + // 图片 + if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO0) { + ViewGroup.LayoutParams layoutParams = binding.videoView0.getLayoutParams(); layoutParams.height = videoComponents.getHeight(); layoutParams.width = videoComponents.getWidth(); binding.videoView0.setLayoutParams(layoutParams); - }else if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO1){ - ViewGroup.LayoutParams layoutParams = binding.videoView1.getLayoutParams(); + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO1) { + ViewGroup.LayoutParams layoutParams = binding.videoView1.getLayoutParams(); layoutParams.height = videoComponents.getHeight(); layoutParams.width = videoComponents.getWidth(); binding.videoView1.setLayoutParams(layoutParams); + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO2) { + ViewGroup.LayoutParams layoutParams = binding.videoView2.getLayoutParams(); + layoutParams.height = videoComponents.getHeight(); + layoutParams.width = videoComponents.getWidth(); + binding.videoView2.setLayoutParams(layoutParams); + } else if (TYPE_UPDATE_VIDE == TYPE_UPDATE_VIDEO3) { + ViewGroup.LayoutParams layoutParams = binding.videoView3.getLayoutParams(); + layoutParams.height = videoComponents.getHeight(); + layoutParams.width = videoComponents.getWidth(); + binding.videoView3.setLayoutParams(layoutParams); } - handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE,videoComponents.getConfig().getTransitionPeriod()*1000); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE, videoComponents.getConfig().getTransitionPeriod() * 1000); Drawable drawable = new BitmapDrawable(localPath); videoView.setBackground(drawable); } @@ -2866,22 +3113,24 @@ public class ViewScreenSaver extends ViewBase { /** * 初始化直播 - * */ + */ List livePlaylist = new ArrayList(); + public void initLivePlayer(NewProgramBean.components components) { - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); IjkPlayerView ijkPlayerView = new IjkPlayerView(context); livePlaylist.add(ijkPlayerView); binding.relativeLayoutMax.addView(ijkPlayerView, lParams); ijkPlayerView.init(); String url = components.getMaterials().get(0).getOuterChain(); - Log.e("TAG","直播路径"+url); + Log.e("TAG", "直播路径" + url); ijkPlayerView.setVideoPath(url); ijkPlayerView.start(); - if(!components.getConfig().isPlayAudio()){ + if (!components.getConfig().isPlayAudio()) { ijkPlayerView.setVolume(1); - }else { + } else { ijkPlayerView.setVolume(15); } } @@ -2889,22 +3138,25 @@ public class ViewScreenSaver extends ViewBase { /** * 添加音频 * - * @param path*/ + * @param path + */ MediaPlayer mediaPlayer0; NewProgramBean.components mediaComponents0; - public void initMediaPlayer(NewProgramBean.components components){ - if(!components.getConfig().isPlayAudio() || components.getMaterials()==null || components.getMaterials().size()==0){ + + public void initMediaPlayer(NewProgramBean.components components) { + if (!components.getConfig().isPlayAudio() || components.getMaterials() == null + || components.getMaterials().size() == 0) { return; } mediaComponents0 = components; mediaPlayer0 = new MediaPlayer(); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_MEIDA0,100); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_MEIDA0, 100); } /** * 更新音频文件 - * */ - public void updateMedia(NewProgramBean.components components){ + */ + public void updateMedia(NewProgramBean.components components) { NewProgramBean.materials materials0 = mediaComponents0.getMaterials().get(0); @@ -2912,17 +3164,17 @@ public class ViewScreenSaver extends ViewBase { if (!new File(localPath).exists()) { FileUtil.downloadFile(downloadaddress + materials0.getFileUrl(), localPath); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_MEIDA0,2000); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_MEIDA0, 2000); return; } - Log.e("TAG","有音频播放"); + Log.e("TAG", "有音频播放"); try { File file = new File(localPath); - mediaPlayer0.setDataSource(file.getPath()); //指定音频文件的路径 - mediaPlayer0.prepareAsync(); //让MediaPlayer进入到准备状态 - mediaPlayer0.setLooping(true);//自动循环 - //装载音频完成监听 + mediaPlayer0.setDataSource(file.getPath()); // 指定音频文件的路径 + mediaPlayer0.prepareAsync(); // 让MediaPlayer进入到准备状态 + mediaPlayer0.setLooping(true);// 自动循环 + // 装载音频完成监听 mediaPlayer0.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { @@ -2938,7 +3190,7 @@ public class ViewScreenSaver extends ViewBase { /** * 添加图片 - * */ + */ NewProgramBean.components imageComponents0; NewProgramBean.components imageComponents1; NewProgramBean.components imageComponents2; @@ -2956,112 +3208,114 @@ public class ViewScreenSaver extends ViewBase { NewProgramBean.components imageComponents14; NewProgramBean.components imageComponents15; - List nomallImgList =new ArrayList<>();//普通图片 - public void initImage(NewProgramBean.components components,int position){ - //如果没有内容不创建 - if(components==null ||components.getMaterials()==null|| components.getMaterials().size()<=0){ - LoggerUtil.e("initImage添加图片","认为没有内容"); + List nomallImgList = new ArrayList<>();// 普通图片 + + public void initImage(NewProgramBean.components components, int position) { + // 如果没有内容不创建 + if (components == null || components.getMaterials() == null || components.getMaterials().size() <= 0) { + LoggerUtil.e("initImage添加图片", "认为没有内容"); return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); - if(position==0){ + if (position == 0) { - buildImgView( binding.layoutImg0,components,TYPE_HINT_IMG0,TYPE_UPDATE_IMAGE0); + buildImgView(binding.layoutImg0, components, TYPE_HINT_IMG0, TYPE_UPDATE_IMAGE0); imageComponents0 = components; - buildImgView( binding.otherImg0,components,TYPE_HINT_IMG0,TYPE_UPDATE_IMAGE0); + buildImgView(binding.otherImg0, components, TYPE_HINT_IMG0, TYPE_UPDATE_IMAGE0); nomallImgList.add(binding.img0); nomallImgList.add(binding.img0Behind); - }else if(position==1){ + } else if (position == 1) { - buildImgView( binding.layoutImg1,components,TYPE_HINT_IMG1,TYPE_UPDATE_IMAGE1); + buildImgView(binding.layoutImg1, components, TYPE_HINT_IMG1, TYPE_UPDATE_IMAGE1); imageComponents1 = components; - buildImgView( binding.otherImg1,components,TYPE_HINT_IMG1,TYPE_UPDATE_IMAGE1); + buildImgView(binding.otherImg1, components, TYPE_HINT_IMG1, TYPE_UPDATE_IMAGE1); nomallImgList.add(binding.img1); nomallImgList.add(binding.img1Behind); - }else if(position==2){ + } else if (position == 2) { - buildImgView( binding.layoutImg2,components, TYPE_HINT_IMG2, TYPE_UPDATE_IMAGE2); + buildImgView(binding.layoutImg2, components, TYPE_HINT_IMG2, TYPE_UPDATE_IMAGE2); imageComponents2 = components; - buildImgView( binding.otherImg2,components, TYPE_HINT_IMG2, TYPE_UPDATE_IMAGE2); + buildImgView(binding.otherImg2, components, TYPE_HINT_IMG2, TYPE_UPDATE_IMAGE2); nomallImgList.add(binding.img2); nomallImgList.add(binding.img2Behind); - }else if(position==3){ + } else if (position == 3) { - buildImgView( binding.layoutImg3, components, TYPE_HINT_IMG3, TYPE_UPDATE_IMAGE3); + buildImgView(binding.layoutImg3, components, TYPE_HINT_IMG3, TYPE_UPDATE_IMAGE3); imageComponents3 = components; - buildImgView( binding.otherImg3,components, TYPE_HINT_IMG3, TYPE_UPDATE_IMAGE3); + buildImgView(binding.otherImg3, components, TYPE_HINT_IMG3, TYPE_UPDATE_IMAGE3); nomallImgList.add(binding.img3); nomallImgList.add(binding.img3Behind); - }else if(position==4){ + } else if (position == 4) { - buildImgView( binding.layoutImg4, components, TYPE_HINT_IMG4, TYPE_UPDATE_IMAGE4); + buildImgView(binding.layoutImg4, components, TYPE_HINT_IMG4, TYPE_UPDATE_IMAGE4); imageComponents4 = components; nomallImgList.add(binding.img4); nomallImgList.add(binding.img4Behind); - }else if(position==5){ + } else if (position == 5) { - buildImgView( binding.layoutImg5, components, TYPE_HINT_IMG5, TYPE_UPDATE_IMAGE5); + buildImgView(binding.layoutImg5, components, TYPE_HINT_IMG5, TYPE_UPDATE_IMAGE5); imageComponents5 = components; nomallImgList.add(binding.img5); nomallImgList.add(binding.img5Behind); - }else if(position==6){ + } else if (position == 6) { - buildImgView( binding.layoutImg6, components, TYPE_HINT_IMG6, TYPE_UPDATE_IMAGE6); + buildImgView(binding.layoutImg6, components, TYPE_HINT_IMG6, TYPE_UPDATE_IMAGE6); imageComponents6 = components; nomallImgList.add(binding.img6); nomallImgList.add(binding.img6Behind); - }else if(position==7){ + } else if (position == 7) { - buildImgView( binding.layoutImg7, components, TYPE_HINT_IMG7, TYPE_UPDATE_IMAGE7); + buildImgView(binding.layoutImg7, components, TYPE_HINT_IMG7, TYPE_UPDATE_IMAGE7); imageComponents7 = components; nomallImgList.add(binding.img7); nomallImgList.add(binding.img7Behind); - }else if(position==8){ + } else if (position == 8) { - buildImgView( binding.layoutImg8, components, TYPE_HINT_IMG8, TYPE_UPDATE_IMAGE8); + buildImgView(binding.layoutImg8, components, TYPE_HINT_IMG8, TYPE_UPDATE_IMAGE8); imageComponents8 = components; nomallImgList.add(binding.img8); nomallImgList.add(binding.img8Behind); - }else if(position==9){ + } else if (position == 9) { - buildImgView( binding.layoutImg9, components, TYPE_HINT_IMG9, TYPE_UPDATE_IMAGE9); + buildImgView(binding.layoutImg9, components, TYPE_HINT_IMG9, TYPE_UPDATE_IMAGE9); imageComponents9 = components; nomallImgList.add(binding.img9); nomallImgList.add(binding.img9Behind); - }else if(position==10){ + } else if (position == 10) { - buildImgView( binding.layoutImg10, components, TYPE_HINT_IMG10, TYPE_UPDATE_IMAGE10); + buildImgView(binding.layoutImg10, components, TYPE_HINT_IMG10, TYPE_UPDATE_IMAGE10); imageComponents10 = components; nomallImgList.add(binding.img10); nomallImgList.add(binding.img10Behind); - }else if(position==11){ + } else if (position == 11) { - buildImgView( binding.layoutImg11, components, TYPE_HINT_IMG11, TYPE_UPDATE_IMAGE11); + buildImgView(binding.layoutImg11, components, TYPE_HINT_IMG11, TYPE_UPDATE_IMAGE11); imageComponents11 = components; nomallImgList.add(binding.img11); nomallImgList.add(binding.img11Behind); - }else if(position==12){ + } else if (position == 12) { - buildImgView( binding.layoutImg12, components, TYPE_HINT_IMG12, TYPE_UPDATE_IMAGE12); + buildImgView(binding.layoutImg12, components, TYPE_HINT_IMG12, TYPE_UPDATE_IMAGE12); imageComponents12 = components; nomallImgList.add(binding.img12); nomallImgList.add(binding.img12Behind); - }else if(position==13){ + } else if (position == 13) { - buildImgView( binding.layoutImg13, components, TYPE_HINT_IMG13, TYPE_UPDATE_IMAGE13); + buildImgView(binding.layoutImg13, components, TYPE_HINT_IMG13, TYPE_UPDATE_IMAGE13); imageComponents13 = components; nomallImgList.add(binding.img13); nomallImgList.add(binding.img13Behind); - }else if(position==14){ + } else if (position == 14) { - buildImgView( binding.layoutImg14, components, TYPE_HINT_IMG14, TYPE_UPDATE_IMAGE14); + buildImgView(binding.layoutImg14, components, TYPE_HINT_IMG14, TYPE_UPDATE_IMAGE14); imageComponents14 = components; nomallImgList.add(binding.img14); nomallImgList.add(binding.img14Behind); - }else if(position==15){ + } else if (position == 15) { - buildImgView( binding.layoutImg15, components, TYPE_HINT_IMG15, TYPE_UPDATE_IMAGE15); + buildImgView(binding.layoutImg15, components, TYPE_HINT_IMG15, TYPE_UPDATE_IMAGE15); imageComponents15 = components; nomallImgList.add(binding.img15); nomallImgList.add(binding.img15Behind); @@ -3070,21 +3324,22 @@ public class ViewScreenSaver extends ViewBase { /** * 创建更图片位置 - * */ - public void buildImgView(View view, NewProgramBean.components components,int TYPE_HINT_IMG , int TYPE_UPDATE_IMAGE){ + */ + public void buildImgView(View view, NewProgramBean.components components, int TYPE_HINT_IMG, + int TYPE_UPDATE_IMAGE) { view.setVisibility(View.VISIBLE); view.bringToFront(); - changeViewLocation(view,components); + changeViewLocation(view, components); handler.removeMessages(TYPE_HINT_IMG); - handler.sendEmptyMessageDelayed(TYPE_HINT_IMG,3000); + handler.sendEmptyMessageDelayed(TYPE_HINT_IMG, 3000); handler.removeMessages(TYPE_UPDATE_IMAGE); handler.sendEmptyMessage(TYPE_UPDATE_IMAGE); } /** * 创建更改控件位置 - * */ - public void changeViewLocation(View view, NewProgramBean.components components){ + */ + public void changeViewLocation(View view, NewProgramBean.components components) { view.setX(components.getOffsetX()); view.setY(components.getOffsetY()); ViewGroup.LayoutParams layoutParams = view.getLayoutParams(); @@ -3094,296 +3349,315 @@ public class ViewScreenSaver extends ViewBase { /** * 添加额外的图片(节目跟节目切换) - * */ + */ - public void addOtherImg( NewProgramBean.components components, int otherImgCount){ - if(components.getMaterials()==null||components.getMaterials().size()<=0){ + public void addOtherImg(NewProgramBean.components components, int otherImgCount) { + if (components.getMaterials() == null || components.getMaterials().size() <= 0) { return; } - if(otherImgCount==0){ - Log.e("TAG","隐藏额外图片"); + if (otherImgCount == 0) { + Log.e("TAG", "隐藏额外图片"); binding.otherImg0.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg0,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg0); + changeViewLocation(binding.otherImg0, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg0); - }else if(otherImgCount==1){ + } else if (otherImgCount == 1) { binding.otherImg1.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg1,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg1); + changeViewLocation(binding.otherImg1, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg1); - }else if(otherImgCount==2){ + } else if (otherImgCount == 2) { binding.otherImg2.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg2,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg2); + changeViewLocation(binding.otherImg2, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg2); - }else if(otherImgCount==3){ + } else if (otherImgCount == 3) { binding.otherImg3.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg3,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg3); - }else if(otherImgCount==4){ + changeViewLocation(binding.otherImg3, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg3); + } else if (otherImgCount == 4) { binding.otherImg4.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg4,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg4); - }else if(otherImgCount==5){ + changeViewLocation(binding.otherImg4, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg4); + } else if (otherImgCount == 5) { binding.otherImg5.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg5,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg5); - }else if(otherImgCount==6){ + changeViewLocation(binding.otherImg5, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg5); + } else if (otherImgCount == 6) { binding.otherImg6.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg6,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg6); - }else if(otherImgCount==7){ + changeViewLocation(binding.otherImg6, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg6); + } else if (otherImgCount == 7) { binding.otherImg7.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg7,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg7); - }else if(otherImgCount==8){ + changeViewLocation(binding.otherImg7, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg7); + } else if (otherImgCount == 8) { binding.otherImg8.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg8,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg8); - }else if(otherImgCount==9){ + changeViewLocation(binding.otherImg8, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg8); + } else if (otherImgCount == 9) { binding.otherImg9.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg9,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg9); - }else if(otherImgCount==10){ + changeViewLocation(binding.otherImg9, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg9); + } else if (otherImgCount == 10) { binding.otherImg10.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg10,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg10); - }else if(otherImgCount==11){ + changeViewLocation(binding.otherImg10, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg10); + } else if (otherImgCount == 11) { binding.otherImg11.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg11,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg11); - }else if(otherImgCount==12){ + changeViewLocation(binding.otherImg11, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg11); + } else if (otherImgCount == 12) { binding.otherImg12.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg12,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg12); - }else if(otherImgCount==13){ + changeViewLocation(binding.otherImg12, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg12); + } else if (otherImgCount == 13) { binding.otherImg13.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg13,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg13); - }else if(otherImgCount==14){ + changeViewLocation(binding.otherImg13, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg13); + } else if (otherImgCount == 14) { binding.otherImg14.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg14,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg14); - }else if(otherImgCount==15){ + changeViewLocation(binding.otherImg14, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg14); + } else if (otherImgCount == 15) { binding.otherImg15.setVisibility(View.INVISIBLE); - changeViewLocation( binding.otherImg15,components); - BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), binding.otherImg15); + changeViewLocation(binding.otherImg15, components); + BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl(), + binding.otherImg15); } } /** * 更新替换图片 - * */ + */ - public void updateImage( NewProgramBean.components imageComponents0, int imagePlayCount, boolean firstImagePlay , boolean imagePlay ,ImageView imageView0 ,ImageView imageView00 ,int TYPE_UPDATE ){ - if(imageComponents0.getMaterials()==null||imageComponents0.getMaterials().size()==0){ + public void updateImage(NewProgramBean.components imageComponents0, int imagePlayCount, boolean firstImagePlay, + boolean imagePlay, ImageView imageView0, ImageView imageView00, int TYPE_UPDATE) { + if (imageComponents0.getMaterials() == null || imageComponents0.getMaterials().size() == 0) { return; } - //如果只有一张图就不切换图片 - if(imageComponents0.getMaterials().size()>1){ - handler.sendEmptyMessageDelayed(TYPE_UPDATE,imageComponents0.getConfig().getTransitionPeriod()*1000);//切换 + // 如果只有一张图就不切换图片 + if (imageComponents0.getMaterials().size() > 1) { + handler.sendEmptyMessageDelayed(TYPE_UPDATE, imageComponents0.getConfig().getTransitionPeriod() * 1000);// 切换 } - Log.e("TAG","开始切换图片"+TYPE_UPDATE); - if(imagePlayCount >= imageComponents0.getMaterials().size()){ + Log.e("TAG", "开始切换图片" + TYPE_UPDATE); + if (imagePlayCount >= imageComponents0.getMaterials().size()) { imagePlayCount = 0; - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ - imagePlayCount0=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { - imagePlayCount1=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { - imagePlayCount2=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { - imagePlayCount3=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { - imagePlayCount4=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { - imagePlayCount5=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { - imagePlayCount6=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { - imagePlayCount7=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { - imagePlayCount8=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { - imagePlayCount9=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { - imagePlayCount10=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { - imagePlayCount11=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { - imagePlayCount12=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { - imagePlayCount13=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { - imagePlayCount14=0; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { - imagePlayCount15=0; + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { + imagePlayCount0 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { + imagePlayCount1 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { + imagePlayCount2 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { + imagePlayCount3 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { + imagePlayCount4 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { + imagePlayCount5 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { + imagePlayCount6 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { + imagePlayCount7 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { + imagePlayCount8 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { + imagePlayCount9 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { + imagePlayCount10 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { + imagePlayCount11 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { + imagePlayCount12 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { + imagePlayCount13 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { + imagePlayCount14 = 0; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { + imagePlayCount15 = 0; } } String fileurl1 = imageComponents0.getMaterials().get(imagePlayCount).getFileUrl(); long fileLength = imageComponents0.getMaterials().get(imagePlayCount).getFileLength(); - //上传播放记录 + // 上传播放记录 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String playTime = format.format(System.currentTimeMillis()); -// ScreenSaverData.uploadPlayRecord(imageComponents0.getMaterials().get(imagePlayCount).getMaterialCode(), imageComponents0.getMaterials().get(imagePlayCount).getDuration(), playTime, null, null); + // ScreenSaverData.uploadPlayRecord(imageComponents0.getMaterials().get(imagePlayCount).getMaterialCode(), + // imageComponents0.getMaterials().get(imagePlayCount).getDuration(), playTime, + // null, null); String fileurl2; - if(imagePlayCount+1>=imageComponents0.getMaterials().size()){ + if (imagePlayCount + 1 >= imageComponents0.getMaterials().size()) { fileurl2 = imageComponents0.getMaterials().get(0).getFileUrl(); - }else { + } else { - fileurl2 = imageComponents0.getMaterials().get(imagePlayCount+1).getFileUrl(); + fileurl2 = imageComponents0.getMaterials().get(imagePlayCount + 1).getFileUrl(); } - //第一张图显示 - if(firstImagePlay){ - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ - firstImagePlay0=false; + // 第一张图显示 + if (firstImagePlay) { + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { + firstImagePlay0 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { - firstImagePlay1=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { + firstImagePlay1 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { - firstImagePlay2=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { + firstImagePlay2 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { - firstImagePlay3=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { + firstImagePlay3 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { - firstImagePlay4=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { + firstImagePlay4 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { - firstImagePlay5=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { + firstImagePlay5 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { - firstImagePlay6=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { + firstImagePlay6 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { - firstImagePlay7=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { + firstImagePlay7 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { - firstImagePlay8=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { + firstImagePlay8 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { - firstImagePlay9=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { + firstImagePlay9 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { - firstImagePlay10=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { + firstImagePlay10 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { - firstImagePlay11=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { + firstImagePlay11 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { - firstImagePlay12=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { + firstImagePlay12 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { - firstImagePlay13=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { + firstImagePlay13 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { - firstImagePlay14=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { + firstImagePlay14 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { - firstImagePlay15=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { + firstImagePlay15 = false; } File file = new File(StringUtil.strSplice(Constant.CACHE_PATH, fileurl1)); - if(Math.abs(file.length()-fileLength)>1){ + if (Math.abs(file.length() - fileLength) > 1) { file.delete(); - }else { + } else { } BitmapUtil.loadImage(downloadaddress, Constant.CACHE_PATH, fileurl1, imageView00); - }else { + } else { - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { binding.otherImg0.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { binding.otherImg1.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { binding.otherImg2.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { binding.otherImg3.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { binding.otherImg4.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { binding.otherImg5.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { binding.otherImg6.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { binding.otherImg7.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { binding.otherImg8.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { binding.otherImg9.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { binding.otherImg10.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { binding.otherImg11.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { binding.otherImg12.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { binding.otherImg13.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { binding.otherImg14.setVisibility(View.INVISIBLE); - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { binding.otherImg15.setVisibility(View.INVISIBLE); } } - if(imagePlay){ - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ - imagePlay0=false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { - imagePlay1=false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { - imagePlay2=false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { - imagePlay3=false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { - imagePlay4=false; + if (imagePlay) { + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { + imagePlay0 = false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { + imagePlay1 = false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { + imagePlay2 = false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { + imagePlay3 = false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { + imagePlay4 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { - imagePlay5=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { + imagePlay5 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { - imagePlay6=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { + imagePlay6 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { - imagePlay7=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { + imagePlay7 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { - imagePlay8=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { + imagePlay8 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { - imagePlay9=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { + imagePlay9 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { - imagePlay10=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { + imagePlay10 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { - imagePlay11=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { + imagePlay11 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { - imagePlay12=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { + imagePlay12 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { - imagePlay13=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { + imagePlay13 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { - imagePlay14=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { + imagePlay14 = false; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { - imagePlay15=false; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { + imagePlay15 = false; } - //移动动画 - if(imageComponents0.getConfig().getTransition()!=null) { + // 移动动画 + if (imageComponents0.getConfig().getTransition() != null) { if (imageComponents0.getConfig().getTransition().equals("上下滚动")) { imgAnimation(imageView00, 0, 0, -imageComponents0.getHeight(), 0); imgAnimation(imageView0, 0, 0, 0, imageComponents0.getHeight()); @@ -3395,56 +3669,56 @@ public class ViewScreenSaver extends ViewBase { imageView00.setVisibility(View.VISIBLE); imageView0.setVisibility(View.INVISIBLE); - }else { - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ - imagePlay0=true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { - imagePlay1=true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { - imagePlay2=true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { - imagePlay3=true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { - imagePlay4=true; + } else { + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { + imagePlay0 = true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { + imagePlay1 = true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { + imagePlay2 = true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { + imagePlay3 = true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { + imagePlay4 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { - imagePlay5=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { + imagePlay5 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { - imagePlay6=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { + imagePlay6 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { - imagePlay7=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { + imagePlay7 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { - imagePlay8=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { + imagePlay8 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { - imagePlay9=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { + imagePlay9 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { - imagePlay10=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { + imagePlay10 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { - imagePlay11=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { + imagePlay11 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { - imagePlay12=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { + imagePlay12 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { - imagePlay13=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { + imagePlay13 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { - imagePlay14=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { + imagePlay14 = true; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { - imagePlay15=true; + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { + imagePlay15 = true; } - Log.e("TAG",""+TYPE_UPDATE); - //移动动画 - if(imageComponents0.getConfig().getTransition()!=null) { + Log.e("TAG", "" + TYPE_UPDATE); + // 移动动画 + if (imageComponents0.getConfig().getTransition() != null) { if (imageComponents0.getConfig().getTransition().equals("上下滚动")) { imgAnimation(imageView0, 0, 0, -imageComponents0.getHeight(), 0); imgAnimation(imageView00, 0, 0, 0, imageComponents0.getHeight()); @@ -3458,99 +3732,100 @@ public class ViewScreenSaver extends ViewBase { imageView0.setVisibility(View.VISIBLE); } - if(TYPE_UPDATE==TYPE_UPDATE_IMAGE0){ - //传参数 - sendMsg(TYPE_CHANGE_IMG_SHOW0,fileurl2); + if (TYPE_UPDATE == TYPE_UPDATE_IMAGE0) { + // 传参数 + sendMsg(TYPE_CHANGE_IMG_SHOW0, fileurl2); imagePlayCount0++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE1) { - //传参数 - sendMsg(TYPE_CHANGE_IMG_SHOW1,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE1) { + // 传参数 + sendMsg(TYPE_CHANGE_IMG_SHOW1, fileurl2); imagePlayCount1++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE2) { - //传参数 - sendMsg(TYPE_CHANGE_IMG_SHOW2,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE2) { + // 传参数 + sendMsg(TYPE_CHANGE_IMG_SHOW2, fileurl2); imagePlayCount2++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE3) { - //传参数 - sendMsg(TYPE_CHANGE_IMG_SHOW3,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE3) { + // 传参数 + sendMsg(TYPE_CHANGE_IMG_SHOW3, fileurl2); imagePlayCount3++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE4) { - sendMsg(TYPE_CHANGE_IMG_SHOW4,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE4) { + sendMsg(TYPE_CHANGE_IMG_SHOW4, fileurl2); imagePlayCount4++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE5) { - sendMsg(TYPE_CHANGE_IMG_SHOW5,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE5) { + sendMsg(TYPE_CHANGE_IMG_SHOW5, fileurl2); imagePlayCount5++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE6) { - sendMsg(TYPE_CHANGE_IMG_SHOW6,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE6) { + sendMsg(TYPE_CHANGE_IMG_SHOW6, fileurl2); imagePlayCount6++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE7) { - sendMsg(TYPE_CHANGE_IMG_SHOW7,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE7) { + sendMsg(TYPE_CHANGE_IMG_SHOW7, fileurl2); imagePlayCount7++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE8) { - sendMsg(TYPE_CHANGE_IMG_SHOW8,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE8) { + sendMsg(TYPE_CHANGE_IMG_SHOW8, fileurl2); imagePlayCount8++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE9) { - sendMsg(TYPE_CHANGE_IMG_SHOW9,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE9) { + sendMsg(TYPE_CHANGE_IMG_SHOW9, fileurl2); imagePlayCount9++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE10) { - sendMsg(TYPE_CHANGE_IMG_SHOW10,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE10) { + sendMsg(TYPE_CHANGE_IMG_SHOW10, fileurl2); imagePlayCount10++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE11) { - sendMsg(TYPE_CHANGE_IMG_SHOW11,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE11) { + sendMsg(TYPE_CHANGE_IMG_SHOW11, fileurl2); imagePlayCount11++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE12) { - sendMsg(TYPE_CHANGE_IMG_SHOW12,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE12) { + sendMsg(TYPE_CHANGE_IMG_SHOW12, fileurl2); imagePlayCount12++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE13) { - sendMsg(TYPE_CHANGE_IMG_SHOW13,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE13) { + sendMsg(TYPE_CHANGE_IMG_SHOW13, fileurl2); imagePlayCount13++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE14) { - sendMsg(TYPE_CHANGE_IMG_SHOW14,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE14) { + sendMsg(TYPE_CHANGE_IMG_SHOW14, fileurl2); imagePlayCount14++; - }else if(TYPE_UPDATE==TYPE_UPDATE_IMAGE15) { - sendMsg(TYPE_CHANGE_IMG_SHOW15,fileurl2); + } else if (TYPE_UPDATE == TYPE_UPDATE_IMAGE15) { + sendMsg(TYPE_CHANGE_IMG_SHOW15, fileurl2); imagePlayCount15++; } } /** - *发送handler命令 - * */ - public void sendMsg(int TYPE_UPDATE_IMAGE, String url){ + * 发送handler命令 + */ + public void sendMsg(int TYPE_UPDATE_IMAGE, String url) { handler.removeMessages(TYPE_UPDATE_IMAGE); Message msg = new Message(); msg.what = TYPE_UPDATE_IMAGE; Bundle bundle = new Bundle(); bundle.putString("url", url); msg.setData(bundle); - handler.sendMessageDelayed(msg,1000); + handler.sendMessageDelayed(msg, 1000); } - /** * 添加json动图 - * */ + */ List ltGiftList = new ArrayList(); - private void initLottie(NewProgramBean.components components){ - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + private void initLottie(NewProgramBean.components components) { + + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); String localPath2 = StringUtil.strSplice(Constant.CACHE_PATH, components.getMaterials().get(0).getFileUrl()); - String url=FileUtil.readLocalJsonForStorage(context,localPath2); + String url = FileUtil.readLocalJsonForStorage(context, localPath2); LottieAnimationView ltGift = new LottieAnimationView(context); binding.relativeLayoutMax.addView(ltGift, lParams); ltGiftList.add(ltGift); @@ -3561,7 +3836,7 @@ public class ViewScreenSaver extends ViewBase { /** * 初始化文本 - * */ + */ NewProgramBean.components textComponents0; NewProgramBean.components textComponents1; @@ -3575,39 +3850,39 @@ public class ViewScreenSaver extends ViewBase { MarqueeTextView textView1; MarqueeTextView textView2; MarqueeTextView textView3; - List MarqueeTextList = new ArrayList(); - List AutoScrollTextList = new ArrayList(); + List MarqueeTextList = new ArrayList(); + List AutoScrollTextList = new ArrayList(); List textList = new ArrayList(); - public void initText(NewProgramBean.components components,int position){ + public void initText(NewProgramBean.components components, int position) { - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); NewProgramBean.materials textMaterials = components.getMaterials().get(0); - String localPath = StringUtil.strSplice(Constant.CACHE_PATH, textMaterials.getFileUrl());//文本本地路径 + String localPath = StringUtil.strSplice(Constant.CACHE_PATH, textMaterials.getFileUrl());// 文本本地路径 - if(components.getConfig().getAnimation().equals("自动")||components.getConfig().getAnimation().equals("固定")){ + if (components.getConfig().getAnimation().equals("自动") || components.getConfig().getAnimation().equals("固定")) { MarqueeTextView textView = new MarqueeTextView(context); - setText2(components,textView); + setText2(components, textView); binding.relativeLayoutMax.addView(textView, lParams); textView.setText(components.getMaterials().get(0).getText()); -// if(!new File(localPath).exists()){ -// //不存在 -// TextBean textBean = new TextBean(); -// textBean.setText(textMaterials.getText()); -// textBean.setPosition(position); -// textBean.setMarqueeTextView(textView); -// textBean.setWidth(components.getWidth()); -// textList.add(textBean); -// handler.removeMessages(TYPE_UPDATE_TEXT4); -// handler.sendEmptyMessageDelayed(TYPE_UPDATE_TEXT4,5000); -// }else { -// textView.setText(FileUtil.loadFromSDFile(localPath).trim()); -// } - - - }else { + // if(!new File(localPath).exists()){ + // //不存在 + // TextBean textBean = new TextBean(); + // textBean.setText(textMaterials.getText()); + // textBean.setPosition(position); + // textBean.setMarqueeTextView(textView); + // textBean.setWidth(components.getWidth()); + // textList.add(textBean); + // handler.removeMessages(TYPE_UPDATE_TEXT4); + // handler.sendEmptyMessageDelayed(TYPE_UPDATE_TEXT4,5000); + // }else { + // textView.setText(FileUtil.loadFromSDFile(localPath).trim()); + // } + + } else { AutoScrollTextView AutoScrollText = new AutoScrollTextView(context); setText(components, AutoScrollText); binding.relativeLayoutMax.addView(AutoScrollText, lParams); @@ -3615,90 +3890,90 @@ public class ViewScreenSaver extends ViewBase { AutoScrollText.init(components.getWidth()); AutoScrollText.startScroll(); -// if(!new File(localPath).exists()){ -// //不存在 -// TextBean textBean = new TextBean(); -// textBean.setText(textMaterials.getText()); -// textBean.setPosition(position); -// textBean.setAutoScrollTextView(AutoScrollText); -// textBean.setWidth(components.getWidth()); -// textList.add(textBean); -// handler.removeMessages(TYPE_UPDATE_TEXT4); -// handler.sendEmptyMessageDelayed(TYPE_UPDATE_TEXT4,5000); -// }else { -// AutoScrollText.setText(FileUtil.loadFromSDFile(localPath)); -// AutoScrollText.init(components.getWidth()); -// AutoScrollText.startScroll(); -// } + // if(!new File(localPath).exists()){ + // //不存在 + // TextBean textBean = new TextBean(); + // textBean.setText(textMaterials.getText()); + // textBean.setPosition(position); + // textBean.setAutoScrollTextView(AutoScrollText); + // textBean.setWidth(components.getWidth()); + // textList.add(textBean); + // handler.removeMessages(TYPE_UPDATE_TEXT4); + // handler.sendEmptyMessageDelayed(TYPE_UPDATE_TEXT4,5000); + // }else { + // AutoScrollText.setText(FileUtil.loadFromSDFile(localPath)); + // AutoScrollText.init(components.getWidth()); + // AutoScrollText.startScroll(); + // } } } /** * 设置文字 - * */ - public void setText(NewProgramBean.components components, AutoScrollTextView text){ + */ + public void setText(NewProgramBean.components components, AutoScrollTextView text) { AutoScrollTextList.add(text); text.init(components.getWidth()); text.setTextColor1(components.getConfig().getFontColor()); - if(components.getConfig().getAnimationSpeed().equals("慢")){ + if (components.getConfig().getAnimationSpeed().equals("慢")) { text.setSpeed(1); - }else if(components.getConfig().getAnimationSpeed().equals("中等")){ + } else if (components.getConfig().getAnimationSpeed().equals("中等")) { text.setSpeed(2); - }else if(components.getConfig().getAnimationSpeed().equals("快")){ + } else if (components.getConfig().getAnimationSpeed().equals("快")) { text.setSpeed(3); - }else if(components.getConfig().getAnimationSpeed().equals("很快")){ + } else if (components.getConfig().getAnimationSpeed().equals("很快")) { text.setSpeed(4); } String backgroundColor = components.getConfig().getBackgroundColor(); - String opacity = (String)colorMap.get(components.getConfig().getBackgroundOpacity()); - if(backgroundColor!=null&&!backgroundColor.isEmpty()){ - backgroundColor="#"+opacity+backgroundColor.substring(1); + String opacity = (String) colorMap.get(components.getConfig().getBackgroundOpacity()); + if (backgroundColor != null && !backgroundColor.isEmpty()) { + backgroundColor = "#" + opacity + backgroundColor.substring(1); text.setBackgroundColor(Color.parseColor(backgroundColor)); } text.setTextSize(components.getConfig().getFontSize()); - if(components.getConfig().getFontStyle().equals("正常")){ + if (components.getConfig().getFontStyle().equals("正常")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); - }else if(components.getConfig().getFontStyle().equals("加粗")){ + } else if (components.getConfig().getFontStyle().equals("加粗")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - }else if(components.getConfig().getFontStyle().equals("斜体")){ + } else if (components.getConfig().getFontStyle().equals("斜体")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC)); - }else if(components.getConfig().getFontStyle().equals("加粗、斜体")){ + } else if (components.getConfig().getFontStyle().equals("加粗、斜体")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD_ITALIC)); } - int top=(components.getHeight()-components.getConfig().getFontSize())/2; - text.setPadding(0,top,0,0); + int top = (components.getHeight() - components.getConfig().getFontSize()) / 2; + text.setPadding(0, top, 0, 0); } /** * 设置文字 - * */ - public void setText2(NewProgramBean.components components, MarqueeTextView text){ + */ + public void setText2(NewProgramBean.components components, MarqueeTextView text) { MarqueeTextList.add(text); text.setTextColor(Color.parseColor(components.getConfig().getFontColor())); String backgroundColor = components.getConfig().getBackgroundColor(); - String opacity = (String)colorMap.get(components.getConfig().getBackgroundOpacity()); - if(backgroundColor!=null&&!backgroundColor.isEmpty()){ - backgroundColor="#"+opacity+backgroundColor.substring(1); + String opacity = (String) colorMap.get(components.getConfig().getBackgroundOpacity()); + if (backgroundColor != null && !backgroundColor.isEmpty()) { + backgroundColor = "#" + opacity + backgroundColor.substring(1); text.setBackgroundColor(Color.parseColor(backgroundColor)); } - if(components.getConfig().getFontStyle().equals("正常")){ + if (components.getConfig().getFontStyle().equals("正常")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); - }else if(components.getConfig().getFontStyle().equals("加粗")){ + } else if (components.getConfig().getFontStyle().equals("加粗")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - }else if(components.getConfig().getFontStyle().equals("斜体")){ + } else if (components.getConfig().getFontStyle().equals("斜体")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC)); - }else if(components.getConfig().getFontStyle().equals("加粗、斜体")){ + } else if (components.getConfig().getFontStyle().equals("加粗、斜体")) { text.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD_ITALIC)); } text.setTextSize(components.getConfig().getFontSize()); text.setSingleLine(); - if(components.getConfig().getAnimation().equals("自动")){ + if (components.getConfig().getAnimation().equals("自动")) { text.setMarqueeRepeatLimit(Integer.MAX_VALUE); text.setFocusable(true); text.setEllipsize(TextUtils.TruncateAt.MARQUEE); @@ -3711,7 +3986,7 @@ public class ViewScreenSaver extends ViewBase { /** * 添加html - * */ + */ WebView onlineWebView0; WebView onlineWebView1; WebView onlineWebView2; @@ -3720,88 +3995,92 @@ public class ViewScreenSaver extends ViewBase { NewProgramBean.components webComponents1; NewProgramBean.components webComponents2; NewProgramBean.components webComponents3; - List webList=new ArrayList(); - public void initOnlineWeb(NewProgramBean.components components,int position){ - if(components==null||components.getMaterials().size()<=0){ + List webList = new ArrayList(); + + public void initOnlineWeb(NewProgramBean.components components, int position) { + if (components == null || components.getMaterials().size() <= 0) { return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); - if(position==0){ + if (position == 0) { onlineWebView0 = new WebView(context); webList.add(onlineWebView0); binding.relativeLayoutMax.addView(onlineWebView0, lParams); - setWebView(onlineWebView0,components.getMaterials().get(0).getOuterChain()); + setWebView(onlineWebView0, components.getMaterials().get(0).getOuterChain()); webComponents0 = components; int refreshWebTime = getRefreshWebTime(components); - if(refreshWebTime>0){ - handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW0,refreshWebTime); + if (refreshWebTime > 0) { + handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW0, refreshWebTime); } - } else if (position==1){ + } else if (position == 1) { onlineWebView1 = new WebView(context); webList.add(onlineWebView1); binding.relativeLayoutMax.addView(onlineWebView1, lParams); - setWebView(onlineWebView1,components.getMaterials().get(0).getOuterChain()); + setWebView(onlineWebView1, components.getMaterials().get(0).getOuterChain()); webComponents1 = components; int refreshWebTime = getRefreshWebTime(components); - if(refreshWebTime>0){ - handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW1,refreshWebTime); + if (refreshWebTime > 0) { + handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW1, refreshWebTime); } - } else if (position==2){ + } else if (position == 2) { onlineWebView2 = new WebView(context); webList.add(onlineWebView2); binding.relativeLayoutMax.addView(onlineWebView2, lParams); - setWebView(onlineWebView2,components.getMaterials().get(0).getOuterChain()); + setWebView(onlineWebView2, components.getMaterials().get(0).getOuterChain()); webComponents2 = components; int refreshWebTime = getRefreshWebTime(components); - if(refreshWebTime>0){ - handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW2,refreshWebTime); + if (refreshWebTime > 0) { + handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW2, refreshWebTime); } - } else if (position==3){ + } else if (position == 3) { onlineWebView3 = new WebView(context); webList.add(onlineWebView3); binding.relativeLayoutMax.addView(onlineWebView3, lParams); - setWebView(onlineWebView3,components.getMaterials().get(0).getOuterChain()); + setWebView(onlineWebView3, components.getMaterials().get(0).getOuterChain()); webComponents3 = components; int refreshWebTime = getRefreshWebTime(components); - if(refreshWebTime>0){ - handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW3,refreshWebTime); + if (refreshWebTime > 0) { + handler.sendEmptyMessageDelayed(TYPE_REFRESH_WEBVIEW3, refreshWebTime); } } } - public int getRefreshWebTime(NewProgramBean.components components){ + public int getRefreshWebTime(NewProgramBean.components components) { String refreshPeriod = components.getConfig().getRefreshPeriod(); String[] split = refreshPeriod.split(":"); - int time=Integer.parseInt(split[0])*3600*1000+Integer.parseInt(split[1])*60*1000+Integer.parseInt(split[2])*1000; + int time = Integer.parseInt(split[0]) * 3600 * 1000 + Integer.parseInt(split[1]) * 60 * 1000 + + Integer.parseInt(split[2]) * 1000; return time; } - public void setWebView(WebView mWebView,String url){ -// mWebView.setBackgroundColor(Color.TRANSPARENT); - mWebView.setHorizontalScrollBarEnabled(false);//水平不显示 - mWebView.setVerticalScrollBarEnabled(false); //垂直不显示 + public void setWebView(WebView mWebView, String url) { + // mWebView.setBackgroundColor(Color.TRANSPARENT); + mWebView.setHorizontalScrollBarEnabled(false);// 水平不显示 + mWebView.setVerticalScrollBarEnabled(false); // 垂直不显示 WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); - webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 - webSettings.setSupportZoom(true);//调整图片至适合webview的大小 + webSettings.setJavaScriptCanOpenWindowsAutomatically(true); // 支持通过JS打开新窗口 + webSettings.setSupportZoom(true);// 调整图片至适合webview的大小 webSettings.setUseWideViewPort(true);// 缩放至屏幕的大小 webSettings.setLoadWithOverviewMode(true); webSettings.setLoadsImagesAutomatically(true); -// webSettings.setAppCacheEnabled(true);//是否使用缓存 - webSettings.setDomStorageEnabled(true);//DOM Storage + // webSettings.setAppCacheEnabled(true);//是否使用缓存 + webSettings.setDomStorageEnabled(true);// DOM Storage webSettings.setDefaultTextEncodingName("utf-8"); mWebView.setWebViewClient(new WebViewClient()); mWebView.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cm) { - if(!cm.message().contains("THREE.WebGLRenderer:") && !cm.message().contains("Uncaught (in promise) AbortError")){ - LoggerUtil.e("WebView日志",cm.message()); + if (!cm.message().contains("THREE.WebGLRenderer:") + && !cm.message().contains("Uncaught (in promise) AbortError")) { + LoggerUtil.e("WebView日志", cm.message()); } return super.onConsoleMessage(cm); } @@ -3815,9 +4094,9 @@ public class ViewScreenSaver extends ViewBase { @Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent message) { - if (message != null){ + if (message != null) { switch (message.getCode()) { - case Constant.ACTION_UPDATE_WEBVIEW://刷新webView + case Constant.ACTION_UPDATE_WEBVIEW:// 刷新webView if (webList != null && !webList.isEmpty()) { for (WebView webView : webList) { if (webView != null) { @@ -3830,197 +4109,221 @@ public class ViewScreenSaver extends ViewBase { } } } + /** * 添加水牌 - * */ + */ WebView spWebView; - public void intSuipai(NewProgramBean.components components){ - if(components==null||components.getMaterials().size()<=0){ - LoggerUtil.e("intSuipai","水牌暂无内容"); + + public void intSuipai(NewProgramBean.components components) { + if (components == null || components.getMaterials().size() <= 0) { + LoggerUtil.e("intSuipai", "水牌暂无内容"); return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); - //开启本地服务 - if(!Constant.isCoreService){ + // 开启本地服务 + if (!Constant.isCoreService) { context.startService(new Intent(context, CoreService.class)); } spWebView = new WebView(context); webList.add(spWebView); binding.relativeLayoutMax.addView(spWebView, lParams); - if(new File(Constant.CACHE_PATH +components.getMaterials().get(0).getFileUrl()).exists()){ - //存在判断dist文件夹是否存在index + if (new File(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl()).exists()) { + // 存在判断dist文件夹是否存在index String shuipai_version = components.getMaterials().get(0).getFileUrl(); - Log.e("intSuipai","水牌版本:"+shuipai_version); - if(!shuipai_version.equals(DeviceData.getDeviceInfo(DeviceData.SHUIPAI_VERSION)) || !new File(Constant.CACHE_PATH2).exists()){ - LoggerUtil.e("intSuipai","版本号与本地不同,解压水牌zip"); + Log.e("intSuipai", "水牌版本:" + shuipai_version); + if (!shuipai_version.equals(DeviceData.getDeviceInfo(DeviceData.SHUIPAI_VERSION)) + || !new File(Constant.CACHE_PATH2).exists()) { + LoggerUtil.e("intSuipai", "版本号与本地不同,解压水牌zip"); - if(new File(Constant.CACHE_PATH2).exists()){ + if (new File(Constant.CACHE_PATH2).exists()) { FileUtil.deleteDirectory(Constant.CACHE_PATH2); } FileUtil.makeRootDirectory(Constant.CACHE_PATH2); - boolean upZip = FileUtil.upZipFile(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl(), Constant.CACHE_PATH2); - LoggerUtil.e("intSuipai","解压水牌zip结果:"+upZip); - if(upZip){ + boolean upZip = FileUtil.upZipFile(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl(), + Constant.CACHE_PATH2); + LoggerUtil.e("intSuipai", "解压水牌zip结果:" + upZip); + if (upZip) { - DeviceData.saveDeviceInfo(DeviceData.SHUIPAI_VERSION , shuipai_version); + DeviceData.saveDeviceInfo(DeviceData.SHUIPAI_VERSION, shuipai_version); readShuiPaiJson(); } - }else { - LoggerUtil.e("intSuipai","水牌zip版本与本地相同,直接读取数据"); + } else { + LoggerUtil.e("intSuipai", "水牌zip版本与本地相同,直接读取数据"); readShuiPaiJson(); } - handler.sendEmptyMessageDelayed(TYPE_SHUIPAI,5000); - }else { - LoggerUtil.e("intSuipai","水牌zip本地不存在"); + handler.sendEmptyMessageDelayed(TYPE_SHUIPAI, 5000); + } else { + LoggerUtil.e("intSuipai", "水牌zip本地不存在"); } } /** * 读取水牌json离线数据 - * */ - int shuipaifacenumb = 0;//接口数量 - int shuipaifacenumb_finish = 0;//接口请求完成 - public void readShuiPaiJson(){ + */ + int shuipaifacenumb = 0;// 接口数量 + int shuipaifacenumb_finish = 0;// 接口请求完成 + + public void readShuiPaiJson() { try { - String url = Constant.CACHE_PATH+"dist/" +"/InterfaceList.json"; - if(!new File(url).exists()){ - LoggerUtil.e("redSuiPaiJson()","不存在水牌离线json"); + String url = Constant.CACHE_PATH + "dist/" + "/InterfaceList.json"; + if (!new File(url).exists()) { + LoggerUtil.e("redSuiPaiJson()", "不存在水牌离线json"); return; } String s = FileUtil.loadFromSDFile(url); - Log.e("TAG","水牌离线json:"+s); - ShuipaiDataListBean shuipaiDataListBean = GsonUtil.getGson().fromJson(s, new TypeToken() { - }.getType()); + Log.e("TAG", "水牌离线json:" + s); + ShuipaiDataListBean shuipaiDataListBean = GsonUtil.getGson().fromJson(s, + new TypeToken() { + }.getType()); List InterFaceList = shuipaiDataListBean.getData(); shuipaifacenumb = InterFaceList.size(); - for(InterFaceBean interFacebean: InterFaceList ){ - if(interFacebean.getInterfaceName().equals("getDevCoordinateByIP")){ - if(interFacebean.getInterfaceUrl().contains("http")||interFacebean.getInterfaceUrl().contains("https")){ - ScreenSaverData.getGetData(context,interFacebean.getInterfaceUrl()+DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE),interFacebean.getInterfaceName(),null,new QueryFinishListener(){ - @Override - public void onFinish() { - shuipaifacenumb_finish++; - } - }); - }else { - ScreenSaverData.getGetData(context,Constant.getBaseAddress()+interFacebean.getInterfaceUrl()+DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE),interFacebean.getInterfaceName(),null ,new QueryFinishListener(){ - @Override - public void onFinish() { - shuipaifacenumb_finish++; - } - }); + for (InterFaceBean interFacebean : InterFaceList) { + if (interFacebean.getInterfaceName().equals("getDevCoordinateByIP")) { + if (interFacebean.getInterfaceUrl().contains("http") + || interFacebean.getInterfaceUrl().contains("https")) { + ScreenSaverData.getGetData(context, + interFacebean.getInterfaceUrl() + DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE), + interFacebean.getInterfaceName(), null, new QueryFinishListener() { + @Override + public void onFinish() { + shuipaifacenumb_finish++; + } + }); + } else { + ScreenSaverData.getGetData(context, + Constant.getBaseAddress() + interFacebean.getInterfaceUrl() + + DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE), + interFacebean.getInterfaceName(), null, new QueryFinishListener() { + @Override + public void onFinish() { + shuipaifacenumb_finish++; + } + }); } - }else { - if(interFacebean.getInterfaceUrl().contains("http")||interFacebean.getInterfaceUrl().contains("https")){ - ScreenSaverData.getGetData(context,interFacebean.getInterfaceUrl(),interFacebean.getInterfaceName(),null ,new QueryFinishListener(){ - @Override - public void onFinish() { - shuipaifacenumb_finish++; - } - }); - }else { - ScreenSaverData.getGetData(context,Constant.getBaseAddress()+interFacebean.getInterfaceUrl(),interFacebean.getInterfaceName(),null ,new QueryFinishListener(){ - @Override - public void onFinish() { - shuipaifacenumb_finish++; - } - }); + } else { + if (interFacebean.getInterfaceUrl().contains("http") + || interFacebean.getInterfaceUrl().contains("https")) { + ScreenSaverData.getGetData(context, interFacebean.getInterfaceUrl(), + interFacebean.getInterfaceName(), null, new QueryFinishListener() { + @Override + public void onFinish() { + shuipaifacenumb_finish++; + } + }); + } else { + ScreenSaverData.getGetData(context, Constant.getBaseAddress() + interFacebean.getInterfaceUrl(), + interFacebean.getInterfaceName(), null, new QueryFinishListener() { + @Override + public void onFinish() { + shuipaifacenumb_finish++; + } + }); } } } - }catch (Throwable t){ + } catch (Throwable t) { LoggerUtil.e("redShuiPaiJson()", StringUtil.getThrowableStr(t)); } } /** * 添加水牌 - * */ + */ WebView mapWebView; - public void initMap(NewProgramBean.components components){ - if(components==null||components.getMaterials().size()<=0){ - LoggerUtil.e("initMap","地图组件暂无内容"); + + public void initMap(NewProgramBean.components components) { + if (components == null || components.getMaterials().size() <= 0) { + LoggerUtil.e("initMap", "地图组件暂无内容"); return; } - RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); lParams.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); - //开启本地服务 - if(!Constant.isCoreService){ + // 开启本地服务 + if (!Constant.isCoreService) { context.startService(new Intent(context, CoreService.class)); } mapWebView = new WebView(context); webList.add(mapWebView); binding.relativeLayoutMax.addView(mapWebView, lParams); - if(new File(Constant.CACHE_PATH +components.getMaterials().get(0).getFileUrl()).exists()){ - //存在判断dist文件夹是否存在index + if (new File(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl()).exists()) { + // 存在判断dist文件夹是否存在index String shuipai_version = components.getMaterials().get(0).getFileUrl(); - Log.e("intSuipai","地图版本:"+shuipai_version); - if(!shuipai_version.equals(DeviceData.getDeviceInfo(DeviceData.SHUIPAI_VERSION)) || !new File(Constant.CACHE_PATH2).exists()){ - LoggerUtil.e("intSuipai","版本号与本地不同,解压地图zip"); + Log.e("intSuipai", "地图版本:" + shuipai_version); + if (!shuipai_version.equals(DeviceData.getDeviceInfo(DeviceData.SHUIPAI_VERSION)) + || !new File(Constant.CACHE_PATH2).exists()) { + LoggerUtil.e("intSuipai", "版本号与本地不同,解压地图zip"); - if(new File(Constant.CACHE_PATH2).exists()){ + if (new File(Constant.CACHE_PATH2).exists()) { FileUtil.deleteDirectory(Constant.CACHE_PATH2); } FileUtil.makeRootDirectory(Constant.CACHE_PATH2); - boolean upZip = FileUtil.upZipFile(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl(), Constant.CACHE_PATH2); - LoggerUtil.e("intSuipai","解压地图zip结果:"+upZip); - if(upZip){ + boolean upZip = FileUtil.upZipFile(Constant.CACHE_PATH + components.getMaterials().get(0).getFileUrl(), + Constant.CACHE_PATH2); + LoggerUtil.e("intSuipai", "解压地图zip结果:" + upZip); + if (upZip) { - DeviceData.saveDeviceInfo(DeviceData.SHUIPAI_VERSION , shuipai_version); + DeviceData.saveDeviceInfo(DeviceData.SHUIPAI_VERSION, shuipai_version); handler.removeMessages(TYPE_MAP); - handler.sendEmptyMessageDelayed(TYPE_MAP,2000); + handler.sendEmptyMessageDelayed(TYPE_MAP, 2000); } - }else { - LoggerUtil.e("intSuipai","地图zip版本与本地相同,直接读取数据"); + } else { + LoggerUtil.e("intSuipai", "地图zip版本与本地相同,直接读取数据"); handler.removeMessages(TYPE_MAP); - handler.sendEmptyMessageDelayed(TYPE_MAP,2000); + handler.sendEmptyMessageDelayed(TYPE_MAP, 2000); } - - }else { - LoggerUtil.e("intSuipai","地图zip本地不存在"); + } else { + LoggerUtil.e("intSuipai", "地图zip本地不存在"); } } - public void getApiFileResourceList(Context context, String url, QueryPreparedListener preparedListener, QueryFinishListener finishListener) { - if (preparedListener != null) preparedListener.onPrepared(); + public void getApiFileResourceList(Context context, String url, QueryPreparedListener preparedListener, + QueryFinishListener finishListener) { + if (preparedListener != null) + preparedListener.onPrepared(); AsyncHttpClient client = new AsyncHttpClient(); - client.get( context, url ,new AsyncHttpResponseHandler() { + client.get(context, url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { try { - if (responseBody!=null) { + if (responseBody != null) { String response = new String(responseBody).replace("\\\\", "/"); - Log.e("地图组件资源列表数据",response); - MapDataListBean mapDataListBean = GsonUtil.getGson().fromJson(response, new TypeToken() {}.getType()); + Log.e("地图组件资源列表数据", response); + MapDataListBean mapDataListBean = GsonUtil.getGson().fromJson(response, + new TypeToken() { + }.getType()); - for (ResourceFileBean bean : mapDataListBean.getData()){ - mapFiles.put(bean.getUrl(),bean.getUrl()) ; + for (ResourceFileBean bean : mapDataListBean.getData()) { + mapFiles.put(bean.getUrl(), bean.getUrl()); } - mapDownloadCount=0; + mapDownloadCount = 0; downloadFiles(); } } catch (Throwable t) { - } - if (finishListener != null) finishListener.onFinish(); + if (finishListener != null) + finishListener.onFinish(); } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { - if (finishListener != null) finishListener.onFinish(); + if (finishListener != null) + finishListener.onFinish(); } }); } @@ -4030,116 +4333,117 @@ public class ViewScreenSaver extends ViewBase { * ishandler 是否需要通知更新 */ public void downloadFiles() { - Log.e("TAG","地图文件下载的数量"+mapFiles.size()+",下载地址前缀"+DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP)); - if(mapFiles.size()<=0 ){ - handler.sendEmptyMessageDelayed(TYPE_MAP,5000); + Log.e("TAG", "地图文件下载的数量" + mapFiles.size() + ",下载地址前缀" + DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP)); + if (mapFiles.size() <= 0) { + handler.sendEmptyMessageDelayed(TYPE_MAP, 5000); return; } for (String bigFile : mapFiles.keySet()) { - Log.e("TAG",bigFile); + Log.e("TAG", bigFile); downloadFile(DeviceData.getDeviceInfo(DeviceData.DOWNLOAD_IP), bigFile); } } - private void downloadFile(String imgPath, final String address) { File file = new File(StringUtil.strSplice(Constant.CACHE_PATH2, address)); if (file.exists()) { - mapDownloadCount++ ; + mapDownloadCount++; mapDownCount(); return; } - FileUtil.downloadFile2(StringUtil.strSplice(imgPath, address), StringUtil.strSplice(Constant.CACHE_PATH3, address), new QueryFinishListener() { - @Override - public void onFinish() { - mapDownloadCount++ ; - mapDownCount(); - } - }); + FileUtil.downloadFile2(StringUtil.strSplice(imgPath, address), + StringUtil.strSplice(Constant.CACHE_PATH3, address), new QueryFinishListener() { + @Override + public void onFinish() { + mapDownloadCount++; + mapDownCount(); + } + }); } /** * 下载完成度 - * */ - public void mapDownCount(){ - if(mapFiles.size() == mapDownloadCount){ - LoggerUtil.e("mapDownCount()","地图资源下载完成"); + */ + public void mapDownCount() { + if (mapFiles.size() == mapDownloadCount) { + LoggerUtil.e("mapDownCount()", "地图资源下载完成"); handler.removeMessages(TYPE_MAP); - handler.sendEmptyMessageDelayed(TYPE_MAP,6000); + handler.sendEmptyMessageDelayed(TYPE_MAP, 6000); } } - /** * 添加天气 - * */ + */ private WeatherAdapter0 weatherAdapter0; private WeatherAdapter1 weatherAdapter00; private RecyclerView recycle_weather0; NewProgramBean.components weatherComponents0; - public void initWeather(NewProgramBean.components components , int position){ - //没有城市名不显示天气 - if(components.getConfig().getCityName().isEmpty() && DeviceData.getDevice().getCity()==null){ + public void initWeather(NewProgramBean.components components, int position) { + // 没有城市名不显示天气 + if (components.getConfig().getCityName().isEmpty() && DeviceData.getDevice().getCity() == null) { return; } - //设置列表大小 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); + // 设置列表大小 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); params.setMargins(components.getOffsetX(), components.getOffsetY(), 0, 0); -// Log.e("TAG","初始化天气"); + // Log.e("TAG","初始化天气"); List weatherList = new ArrayList<>(); - for(int i=0;i<6;i++){ + for (int i = 0; i < 6; i++) { weatherList.add(""); } LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false); - if(position==0){ + if (position == 0) { recycle_weather0 = new RecyclerView(context); binding.relativeLayoutMax.addView(recycle_weather0, params); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { recycle_weather0.setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } recycle_weather0.setLayoutManager(layoutManager); ViewGroup.LayoutParams layoutParams = recycle_weather0.getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); recycle_weather0.setLayoutParams(layoutParams); - if(components.getConfig().getStyle()==0){ - weatherAdapter0 = new WeatherAdapter0(context,components); + if (components.getConfig().getStyle() == 0) { + weatherAdapter0 = new WeatherAdapter0(context, components); weatherAdapter0.setData(weatherList); recycle_weather0.setAdapter(weatherAdapter0); - }else { - weatherAdapter00 = new WeatherAdapter1(context,components); + } else { + weatherAdapter00 = new WeatherAdapter1(context, components); weatherAdapter00.setData(weatherList); recycle_weather0.setAdapter(weatherAdapter00); } } - if(!components.getConfig().getCityName().isEmpty()){ - getWeather(components.getConfig().getCityName(),null,null); - }else { - getWeather(DeviceData.getDevice().getCity(),null,null); + if (!components.getConfig().getCityName().isEmpty()) { + getWeather(components.getConfig().getCityName(), null, null); + } else { + getWeather(DeviceData.getDevice().getCity(), null, null); } } - NewProgramBean.components timeComponents0; - public void initTime(NewProgramBean.components components ,int position){ - timeComponents0=components; + + public void initTime(NewProgramBean.components components, int position) { + timeComponents0 = components; showTimeStyle(components); - handler.sendEmptyMessageDelayed(TYPE_UPDATE_TIME0,10); + handler.sendEmptyMessageDelayed(TYPE_UPDATE_TIME0, 10); } /** * 显示时间风格 - * */ - public void showTimeStyle(NewProgramBean.components components ){ -// Log.e("TAG","显示时间"); + */ + public void showTimeStyle(NewProgramBean.components components) { + // Log.e("TAG","显示时间"); int style = components.getConfig().getStyle(); int offsetX = components.getOffsetX(); int offsetY = components.getOffsetY(); @@ -4148,107 +4452,122 @@ public class ViewScreenSaver extends ViewBase { binding.layoutTime2.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime3.getRoot().setVisibility(View.INVISIBLE); binding.layoutTime4.getRoot().setVisibility(View.INVISIBLE); - //得到变换比例 + // 得到变换比例 int width = components.getWidth(); - float proportion = (float)width/(float) 320; + float proportion = (float) width / (float) 320; String fontColor = components.getConfig().getFontColor(); - if(style==0){ - //改变大小 - ViewGroup.LayoutParams layoutParams = binding.layoutTime0.getRoot().getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ - binding.layoutTime0.getRoot().setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); + if (style == 0) { + // 改变大小 + ViewGroup.LayoutParams layoutParams = binding.layoutTime0.getRoot().getLayoutParams(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { + binding.layoutTime0.getRoot() + .setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } binding.layoutTime0.getRoot().setLayoutParams(layoutParams); binding.layoutTime0.tvTime0.setTextColor(Color.parseColor(fontColor)); binding.layoutTime0.tvWeek0.setTextColor(Color.parseColor(fontColor)); binding.layoutTime0.tvDay0.setTextColor(Color.parseColor(fontColor)); - binding.layoutTime0.tvTime0.setTextSize((int)(proportion*24)); - binding.layoutTime0.tvWeek0.setTextSize((int)(proportion*24)); - binding.layoutTime0.tvDay0.setTextSize((int)(proportion*24)); - //改变位置 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); - params.setMargins(offsetX,offsetY, 0,0); + binding.layoutTime0.tvTime0.setTextSize((int) (proportion * 24)); + binding.layoutTime0.tvWeek0.setTextSize((int) (proportion * 24)); + binding.layoutTime0.tvDay0.setTextSize((int) (proportion * 24)); + // 改变位置 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); + params.setMargins(offsetX, offsetY, 0, 0); binding.layoutTime0.getRoot().setLayoutParams(params); binding.layoutTime0.getRoot().setVisibility(View.VISIBLE); - }else if(style==1){ + } else if (style == 1) { - ViewGroup.LayoutParams layoutParams = binding.layoutTime1.getRoot().getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ - binding.layoutTime1.getRoot().setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); + ViewGroup.LayoutParams layoutParams = binding.layoutTime1.getRoot().getLayoutParams(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { + binding.layoutTime1.getRoot() + .setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } binding.layoutTime1.getRoot().setLayoutParams(layoutParams); binding.layoutTime1.tvTime1.setTextColor(Color.parseColor(fontColor)); binding.layoutTime1.tvWeek1.setTextColor(Color.parseColor(fontColor)); binding.layoutTime1.tvDay1.setTextColor(Color.parseColor(fontColor)); - binding.layoutTime1.tvTime1.setTextSize((int)(proportion*24)); - binding.layoutTime1.tvWeek1.setTextSize((int)(proportion*24)); - binding.layoutTime1.tvDay1.setTextSize((int)(proportion*24)); - //改变位置 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); - params.setMargins(offsetX,offsetY, 0,0); + binding.layoutTime1.tvTime1.setTextSize((int) (proportion * 24)); + binding.layoutTime1.tvWeek1.setTextSize((int) (proportion * 24)); + binding.layoutTime1.tvDay1.setTextSize((int) (proportion * 24)); + // 改变位置 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); + params.setMargins(offsetX, offsetY, 0, 0); binding.layoutTime1.getRoot().setLayoutParams(params); binding.layoutTime1.getRoot().setVisibility(View.VISIBLE); - }else if(style==2){ + } else if (style == 2) { ViewGroup.LayoutParams layoutParams = binding.layoutTime2.getRoot().getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); binding.layoutTime2.getRoot().setLayoutParams(layoutParams); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ - binding.layoutTime2.getRoot().setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { + binding.layoutTime2.getRoot() + .setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } binding.layoutTime2.tvTime2.setTextColor(Color.parseColor(fontColor)); binding.layoutTime2.tvWeek2.setTextColor(Color.parseColor(fontColor)); binding.layoutTime2.tvDay2.setTextColor(Color.parseColor(fontColor)); - binding.layoutTime2.tvTime2.setTextSize((int)(proportion*24)); - binding.layoutTime2.tvWeek2.setTextSize((int)(proportion*18)); - binding.layoutTime2.tvDay2.setTextSize((int)(proportion*18)); - //改变位置 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); - params.setMargins(offsetX,offsetY, 0,0); + binding.layoutTime2.tvTime2.setTextSize((int) (proportion * 24)); + binding.layoutTime2.tvWeek2.setTextSize((int) (proportion * 18)); + binding.layoutTime2.tvDay2.setTextSize((int) (proportion * 18)); + // 改变位置 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); + params.setMargins(offsetX, offsetY, 0, 0); binding.layoutTime2.getRoot().setLayoutParams(params); binding.layoutTime2.getRoot().setVisibility(View.VISIBLE); - }else if(style==3){ + } else if (style == 3) { ViewGroup.LayoutParams layoutParams = binding.layoutTime3.getRoot().getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); binding.layoutTime3.getRoot().setLayoutParams(layoutParams); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ - binding.layoutTime3.getRoot().setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { + binding.layoutTime3.getRoot() + .setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } binding.layoutTime3.tvTime3.setTextColor(Color.parseColor(fontColor)); binding.layoutTime3.tvWeek3.setTextColor(Color.parseColor(fontColor)); binding.layoutTime3.tvDay3.setTextColor(Color.parseColor(fontColor)); - binding.layoutTime3.tvTime3.setTextSize((int)(proportion*24)); - binding.layoutTime3.tvWeek3.setTextSize((int)(proportion*14)); - binding.layoutTime3.tvDay3.setTextSize((int)(proportion*14)); - //改变位置 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); - params.setMargins(offsetX,offsetY, 0,0); + binding.layoutTime3.tvTime3.setTextSize((int) (proportion * 24)); + binding.layoutTime3.tvWeek3.setTextSize((int) (proportion * 14)); + binding.layoutTime3.tvDay3.setTextSize((int) (proportion * 14)); + // 改变位置 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); + params.setMargins(offsetX, offsetY, 0, 0); binding.layoutTime3.getRoot().setLayoutParams(params); binding.layoutTime3.getRoot().setVisibility(View.VISIBLE); - }else if(style==4){ + } else if (style == 4) { ViewGroup.LayoutParams layoutParams = binding.layoutTime4.getRoot().getLayoutParams(); - layoutParams.height=components.getHeight(); - layoutParams.width=components.getWidth(); - if(components.getConfig().getBackgroundColor()!=null&&!components.getConfig().getBackgroundColor().isEmpty()){ - binding.layoutTime4.getRoot().setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); + layoutParams.height = components.getHeight(); + layoutParams.width = components.getWidth(); + if (components.getConfig().getBackgroundColor() != null + && !components.getConfig().getBackgroundColor().isEmpty()) { + binding.layoutTime4.getRoot() + .setBackgroundColor(Color.parseColor(components.getConfig().getBackgroundColor())); } binding.layoutTime4.getRoot().setLayoutParams(layoutParams); binding.layoutTime4.tvTime4.setTextColor(Color.parseColor(fontColor)); binding.layoutTime4.tvWeek4.setTextColor(Color.parseColor(fontColor)); binding.layoutTime4.tvDay4.setTextColor(Color.parseColor(fontColor)); - binding.layoutTime4.tvTime4.setTextSize((int)(proportion*36)); - binding.layoutTime4.tvWeek4.setTextSize((int)(proportion*14)); - binding.layoutTime4.tvDay4.setTextSize((int)(proportion*14)); - //改变位置 - RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), components.getHeight()); - params.setMargins(offsetX,offsetY, 0,0); + binding.layoutTime4.tvTime4.setTextSize((int) (proportion * 36)); + binding.layoutTime4.tvWeek4.setTextSize((int) (proportion * 14)); + binding.layoutTime4.tvDay4.setTextSize((int) (proportion * 14)); + // 改变位置 + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(components.getWidth(), + components.getHeight()); + params.setMargins(offsetX, offsetY, 0, 0); binding.layoutTime4.getRoot().setLayoutParams(params); binding.layoutTime4.getRoot().setVisibility(View.VISIBLE); } @@ -4256,29 +4575,29 @@ public class ViewScreenSaver extends ViewBase { /** * 时间更新 - * */ - public void chooseTime(int style){ + */ + public void chooseTime(int style) { long longtime = System.currentTimeMillis(); String day = TimeUtil.stampToDate(longtime); String time = TimeUtil.stampTotime(longtime); String week = TimeUtil.getWeek2(day); - if(style==0){ + if (style == 0) { binding.layoutTime0.tvTime0.setText(time); binding.layoutTime0.tvWeek0.setText(week); binding.layoutTime0.tvDay0.setText(day); - }else if(style==1){ + } else if (style == 1) { binding.layoutTime1.tvTime1.setText(time); binding.layoutTime1.tvWeek1.setText(week); binding.layoutTime1.tvDay1.setText(day); - }else if(style==2){ + } else if (style == 2) { binding.layoutTime2.tvTime2.setText(time); binding.layoutTime2.tvWeek2.setText(week); binding.layoutTime2.tvDay2.setText(day); - }else if(style==3){ + } else if (style == 3) { binding.layoutTime3.tvTime3.setText(time); binding.layoutTime3.tvWeek3.setText(week); binding.layoutTime3.tvDay3.setText(day); - }else if(style==4){ + } else if (style == 4) { binding.layoutTime4.tvTime4.setText(time); binding.layoutTime4.tvWeek4.setText(week); binding.layoutTime4.tvDay4.setText(day); @@ -4287,35 +4606,37 @@ public class ViewScreenSaver extends ViewBase { /** * 获取天气 - * */ - public void getWeather(String city, QueryPreparedListener preparedListener, QueryFinishListener finishListener) { - if (preparedListener != null) preparedListener.onPrepared(); + */ + public void getWeather(String city, QueryPreparedListener preparedListener, QueryFinishListener finishListener) { + if (preparedListener != null) + preparedListener.onPrepared(); RetrofitUtil.getBaseService().getWeather(city).enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { try { - WeatherBean weatherbean = new Gson().fromJson(new Gson().toJson(response.body().getData()), new TypeToken() { - }.getType()); + WeatherBean weatherbean = new Gson().fromJson(new Gson().toJson(response.body().getData()), + new TypeToken() { + }.getType()); - if(weatherAdapter0!=null){ + if (weatherAdapter0 != null) { List weatherList = new ArrayList<>(); - weatherList.add(""+weatherbean.getTemperatureNow()); - weatherList.add(weatherbean.getHumidity().substring(0,weatherbean.getHumidity().length()-1)); + weatherList.add("" + weatherbean.getTemperatureNow()); + weatherList.add(weatherbean.getHumidity().substring(0, weatherbean.getHumidity().length() - 1)); weatherList.add(weatherbean.getWindPower()); - weatherList.add(weatherbean.getAqi()+""); - weatherList.add(weatherbean.getPm()+""); + weatherList.add(weatherbean.getAqi() + ""); + weatherList.add(weatherbean.getPm() + ""); weatherList.add(weatherbean.getWeather()); weatherAdapter0.setData(weatherList); } - if(weatherAdapter00!=null){ + if (weatherAdapter00 != null) { List weatherList = new ArrayList<>(); - weatherList.add(""+weatherbean.getTemperatureNow()); - weatherList.add(weatherbean.getHumidity().substring(0,weatherbean.getHumidity().length()-1)); + weatherList.add("" + weatherbean.getTemperatureNow()); + weatherList.add(weatherbean.getHumidity().substring(0, weatherbean.getHumidity().length() - 1)); weatherList.add(weatherbean.getWindPower()); - weatherList.add(weatherbean.getAqi()+""); - weatherList.add(weatherbean.getPm()+""); + weatherList.add(weatherbean.getAqi() + ""); + weatherList.add(weatherbean.getPm() + ""); weatherList.add(weatherbean.getWeather()); weatherAdapter00.setData(weatherList); @@ -4324,17 +4645,19 @@ public class ViewScreenSaver extends ViewBase { } catch (Throwable t) { LoggerUtil.e("getWeather()", StringUtil.getThrowableStr(t)); } - //一小时更新一次天气 - handler.sendEmptyMessageDelayed(TYPE_UPDATE_WEATHER0,3600*1000); - if (finishListener != null) finishListener.onFinish(); + // 一小时更新一次天气 + handler.sendEmptyMessageDelayed(TYPE_UPDATE_WEATHER0, 3600 * 1000); + if (finishListener != null) + finishListener.onFinish(); } @Override public void onFailure(Call call, Throwable t) { LoggerUtil.e("getWeather()", StringUtil.getThrowableStr(t)); - if (finishListener != null) finishListener.onFinish(); - //一小时更新一次天气 - handler.sendEmptyMessageDelayed(TYPE_UPDATE_WEATHER0,3600*1000); + if (finishListener != null) + finishListener.onFinish(); + // 一小时更新一次天气 + handler.sendEmptyMessageDelayed(TYPE_UPDATE_WEATHER0, 3600 * 1000); } }); @@ -4342,24 +4665,23 @@ public class ViewScreenSaver extends ViewBase { /** * 修改成默认背景图 - * */ - public void changeOldBackground(){ + */ + public void changeOldBackground() { try { binding.backgroundImage.setBackgroundColor(Color.TRANSPARENT); binding.backgroundImage.setImageBitmap(null); - }catch (Exception e){ - LoggerUtil.e("修改成默认背景图",e.getMessage()); + } catch (Exception e) { + LoggerUtil.e("修改成默认背景图", e.getMessage()); } } /** * 图片移动动画 - * */ - public void imgAnimation(View view, int fromX ,int toX,int fromY,int toY){ - Animation translateAnimation = new TranslateAnimation(fromX, toX, fromY, toY);//设置平移的起点和终点 - translateAnimation.setDuration(1000);//动画持续的时间为10s + */ + public void imgAnimation(View view, int fromX, int toX, int fromY, int toY) { + Animation translateAnimation = new TranslateAnimation(fromX, toX, fromY, toY);// 设置平移的起点和终点 + translateAnimation.setDuration(1000);// 动画持续的时间为10s view.startAnimation(translateAnimation); } - } diff --git a/app/src/main/java/qianmu/container/mqtt/MQTTService.java b/app/src/main/java/qianmu/container/mqtt/MQTTService.java index ad27dd4..6c4dd9e 100644 --- a/app/src/main/java/qianmu/container/mqtt/MQTTService.java +++ b/app/src/main/java/qianmu/container/mqtt/MQTTService.java @@ -261,14 +261,15 @@ public class MQTTService extends Service { EventBus.getDefault().post(new MessageEvent(Constant.ACTION_RESTART_MQTT)); return; } - if (!isConnected) { - LoggerUtil.e(TAG,"MQTT尝试重连"); - client.connect(conOpt, null, iMqttActionListener); - } - } catch (MqttException e) { - e.printStackTrace(); + if (!isConnected) { + LoggerUtil.e(TAG,"MQTT尝试重连"); + client.connect(conOpt, null, iMqttActionListener); + } + } catch (Exception e) { + // BackgroundServiceStartNotAllowedException (Android 12+) 等非 MqttException 也需要捕获 + // 否则异常传播至 onCreate() 导致服务创建失败引发 APP 崩溃重启 + LoggerUtil.e(TAG, "MQTT连接异常: " + e.getMessage()); } - } // MQTT是否连接成功 diff --git a/app/src/main/java/qianmu/container/util/TTSUtil.java b/app/src/main/java/qianmu/container/util/TTSUtil.java index 8c3d76b..4a0446b 100644 --- a/app/src/main/java/qianmu/container/util/TTSUtil.java +++ b/app/src/main/java/qianmu/container/util/TTSUtil.java @@ -14,15 +14,19 @@ import com.aispeech.export.listeners.AITTSListener; import org.greenrobot.eventbus.EventBus; import org.json.JSONArray; +import java.util.concurrent.atomic.AtomicInteger; + import qianmu.container.app.Constant; import qianmu.container.app.MyApplication; import qianmu.container.entity.MessageEvent; public class TTSUtil { private static String TAG = "TTS: "; - // 语音合成对象 - private AICloudTTSEngine mEngine; - private AICloudTTSIntent intent; + // 语音合成对象:主线程写(initTts),JS/回调线程读,必须 volatile + private volatile AICloudTTSEngine mEngine; + private volatile AICloudTTSIntent intent; + private final AtomicInteger utteranceCounter = new AtomicInteger(0); + private volatile int expectedUtteranceId = -1; public void initTts(){ @@ -55,7 +59,14 @@ public class TTSUtil { @Override public void onCompletion(String utteranceId) { LoggerUtil.e(TAG, "onCompletion: " + utteranceId); - EventBus.getDefault().post(new MessageEvent(Constant.VOID_STOP)); + try { + // 只有最新一次 speak 完成才通知,忽略被 stopTTs() 作废的旧请求 + if (Integer.parseInt(utteranceId) == expectedUtteranceId) { + EventBus.getDefault().post(new MessageEvent(Constant.VOID_STOP)); + } + } catch (NumberFormatException e) { + EventBus.getDefault().post(new MessageEvent(Constant.VOID_STOP)); + } } @Override @@ -105,13 +116,17 @@ public class TTSUtil { initTts(); } if (null == mEngine || null == intent) return; - mEngine.speak(intent, texts, "1024"); + mEngine.stop(); // 先停止当前播放,避免上一条 speak 音频叠加 + int id = utteranceCounter.incrementAndGet(); + expectedUtteranceId = id; + mEngine.speak(intent, texts, String.valueOf(id)); } //停止听写 public void stopTTs(){ LoggerUtil.d(TAG, "手动暂停播放"); if (null == mEngine) return; + expectedUtteranceId = -1; // 作废当前期望,onCompletion 不再触发事件 mEngine.stop(); } diff --git a/app/src/main/res/layout/view_screen_saver.xml b/app/src/main/res/layout/view_screen_saver.xml index 14efcec..fef60fa 100644 --- a/app/src/main/res/layout/view_screen_saver.xml +++ b/app/src/main/res/layout/view_screen_saver.xml @@ -60,6 +60,48 @@ android:id="@+id/videoImg1"/> + + + + + + + + + + + + + +