From ac47344a7e6af985c0eb4281af3664ebc8015150 Mon Sep 17 00:00:00 2001 From: gaozl Date: Thu, 6 Nov 2025 16:33:39 +0800 Subject: [PATCH] fix: ci --- app/build.gradle | 2 +- .../activity/H5/UpdateFileActivity.java | 14 ++++--- .../activity/H5/WebViewActivity.java | 36 +++++++++--------- .../qianmu/container/data/DeviceData.java | 37 +++++++++++++++++++ .../qianmu/container/mqtt/MQTTService.java | 1 - .../container/util/SSLSocketClient.java | 2 - 6 files changed, 63 insertions(+), 29 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e87f645..ffa3c01 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ android { minSdkVersion 22 targetSdkVersion 30 versionCode 6 - versionName "V2.0.7.34" + versionName "V2.0.8.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles 'consumer-rules.pro' diff --git a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java index 79e7865..4bcd270 100644 --- a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java @@ -88,8 +88,9 @@ public class UpdateFileActivity extends BaseActivity { ARouter.getInstance().build(Constant.ROUTE_DEVICE_INFO).navigation(); finish(); return; + }else{ + DeviceData.getMachine(); } - startService(new Intent(UpdateFileActivity.this, ContainerService.class)); startService(new Intent(UpdateFileActivity.this, CoreService.class)); startService(new Intent(UpdateFileActivity.this, MessengerService.class)); @@ -103,13 +104,10 @@ public class UpdateFileActivity extends BaseActivity { //获取图片视频下载地址 DeviceData.getUploadUrl(null,null); - if ("信发".equals(deviceType)||"双面屏".equals(deviceType)) { //信发无需下载离线接口 sendEmptyMessageDelayed(TYPE_LOAD_DELAYED, 1000); - }else { - H5Data.queryInterfaceList(null, () -> sendEmptyMessageDelayed(TYPE_LOAD_DELAYED, 1000)); } @@ -306,8 +304,12 @@ public class UpdateFileActivity extends BaseActivity { currRoute = Constant.ROUTE_UPDATE_FILE; LoggerUtil.e("UpdateFileActivity","onResume()"); //设备迁移使用 - //DeviceData.saveDeviceInfo(DeviceData.HINT_SERVER_IP, "http://192.168.10.215"); - //DeviceData.saveDeviceInfo(DeviceData.HINT_REG_KEY, "qNMWiv"); +// DeviceData.saveDeviceInfo(DeviceData.HINT_SERVER_IP, "http://192.168.10.215"); +// DeviceData.saveDeviceInfo(DeviceData.HINT_REG_KEY, "qNMWiv"); +// String deviceCode = DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE); +// MqttData.getMQTTToken(deviceCode,null,null); +// DeviceData.addDevice(this, null, null); + handler.removeMessages(TYPE_DOWNLOAD_H5); handler.sendEmptyMessageDelayed(TYPE_DOWNLOAD_H5, 30000); deviceType = DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_TYPE);//设备类型,导视,信发等 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 bf95006..dfd5e71 100644 --- a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java @@ -221,25 +221,23 @@ public class WebViewActivity extends BaseActivity { @Override protected void setListener() { binding.web.setWebViewClient(new WebViewClient() { - @Override - public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { - Uri uri = request.getUrl(); - if (uri.toString().endsWith(".js")) { // 拦截 JS 文件请求 - try { - // 读取本地 JS 文件(以 assets 为例) - InputStream is = getAssets().open(uri.getPath().substring(1)); // 处理路径 - // 设置正确的 MIME 类型 - return new WebResourceResponse( - "text/javascript", // MIME 类型 - "UTF-8", // 编码 - is - ); - } catch (IOException e) { - e.printStackTrace(); - } - } - return super.shouldInterceptRequest(view, request); - } +// @Override +// public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { +// Uri uri = request.getUrl(); +// if (uri.toString().endsWith(".js")) { +// try { +// InputStream is = getAssets().open(uri.getPath().substring(1)); // 处理路径 +// return new WebResourceResponse( +// "application/javascript", // MIME 类型 +// "UTF-8", // 编码 +// is +// ); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// return super.shouldInterceptRequest(view, request); +// } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); diff --git a/app/src/main/java/qianmu/container/data/DeviceData.java b/app/src/main/java/qianmu/container/data/DeviceData.java index 18f2d23..8130122 100644 --- a/app/src/main/java/qianmu/container/data/DeviceData.java +++ b/app/src/main/java/qianmu/container/data/DeviceData.java @@ -4,6 +4,8 @@ import android.app.Activity; import android.util.Log; import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; @@ -217,6 +219,41 @@ public class DeviceData extends BaseData { }); } + + /** + * 通过接口来判断网络是否正常 + * */ + public static void getMachine() { + RetrofitUtil.getBaseService().getMachine(DeviceData.getDeviceInfo(HINT_DEVICE_CODE)).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + try { + if(response.body()!=null){ + if (StringUtil.respSuccess(response.body())) { + String dataJson = new Gson().toJson(response.body().getData()); + if(!dataJson.contains("machineCode")){ + //加密数据 + dataJson = AesUtil.decrypt((String.valueOf(response.body().getData()))); + } + JsonObject jsonObject = new JsonParser().parse(dataJson).getAsJsonObject(); + String typeName = jsonObject.get("machineTypeName").getAsString(); + DeviceData.saveDeviceInfo(DeviceData.HINT_DEVICE_TYPE, typeName); //设备类型 + LoggerUtil.e("getMachine()", typeName); + } + }else { + LoggerUtil.e("getMachine()", "body()=null"); + } + } catch (Throwable t) { + LoggerUtil.e("getMachine()", StringUtil.getThrowableStr(t)); + } + } + @Override + public void onFailure(Call call, Throwable t) { + LoggerUtil.e("getMachine()", "请求超时"); + } + }); + } + /** * 获取图片视频下载地址ip */ diff --git a/app/src/main/java/qianmu/container/mqtt/MQTTService.java b/app/src/main/java/qianmu/container/mqtt/MQTTService.java index 1192944..d6a940d 100644 --- a/app/src/main/java/qianmu/container/mqtt/MQTTService.java +++ b/app/src/main/java/qianmu/container/mqtt/MQTTService.java @@ -529,7 +529,6 @@ public class MQTTService extends Service { DeviceData.saveDeviceInfo(DeviceData.FLOOR_NAME, device.getFloor());//楼层名称 if(device.getFloorCode()!=null){ DeviceData.saveDeviceInfo(DeviceData.FLOOR_CODE, device.getFloorCode());//楼层code - } FloorData.getDeviceOptionsNew(DeviceData.getDeviceInfo(DeviceData.HINT_REG_KEY),null, null); } diff --git a/app/src/main/java/qianmu/container/util/SSLSocketClient.java b/app/src/main/java/qianmu/container/util/SSLSocketClient.java index f4c53a2..5b92e3d 100644 --- a/app/src/main/java/qianmu/container/util/SSLSocketClient.java +++ b/app/src/main/java/qianmu/container/util/SSLSocketClient.java @@ -46,9 +46,7 @@ public class SSLSocketClient { try { // 1. 使用 TLSv1.2 协议(Android 14 强制要求) SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); - // 2. 绑定我们的 TrustManager sslContext.init(null, new TrustManager[]{X509}, new SecureRandom()); - // 3. 用自定义类包装,避免系统替换 return new CustomSSLSocketFactory(sslContext.getSocketFactory()); } catch (Exception e) { throw new RuntimeException("创建 SSLSocketFactory 失败", e);