diff --git a/app/src/main/java/com/boheng/zzf/cacacaca/activity/LoginActivity.java b/app/src/main/java/com/boheng/zzf/cacacaca/activity/LoginActivity.java index 3bad2f2..4b3b292 100644 --- a/app/src/main/java/com/boheng/zzf/cacacaca/activity/LoginActivity.java +++ b/app/src/main/java/com/boheng/zzf/cacacaca/activity/LoginActivity.java @@ -204,6 +204,7 @@ public class LoginActivity extends BaseActivity implements SurfaceContract.ISeri removeHandlerWatchDog(); removeHandlerAlertDialog(); mPresenter.stopIs(); + mPresenter.close();//每次login之后,点击开始检测,数据上报异常问题修改 new Thread( () -> { Looper.prepare(); diff --git a/app/src/main/java/com/boheng/zzf/cacacaca/presenter/SurfacePresenter.java b/app/src/main/java/com/boheng/zzf/cacacaca/presenter/SurfacePresenter.java index fe2c7fd..492cdbd 100644 --- a/app/src/main/java/com/boheng/zzf/cacacaca/presenter/SurfacePresenter.java +++ b/app/src/main/java/com/boheng/zzf/cacacaca/presenter/SurfacePresenter.java @@ -541,7 +541,13 @@ public class SurfacePresenter { private boolean crcVerify(String rawData) { try { Log.v(logTag, ("crcVerify: " + rawData)); - for (String str : SplitUtils.split(rawData)) { + String rawDataEx = rawData; + if(rawData.startsWith("BBBB") && rawData.contains("DDDD")) { + int index = rawData.indexOf("DDDD"); + rawDataEx = rawData.substring(index); + } + Log.w(logTag, ("rawDataEx: " + rawDataEx)); + for (String str : SplitUtils.split(rawDataEx)) { if (TextUtils.isEmpty(str) || str.length() < 4) continue; if (!CRCUtils.genCrc(str.substring(4, str.length() - 4)).equals(str.substring(str.length() - 4))) { Log.w(logTag, ("str: " + str + " crc fail!")); @@ -572,7 +578,14 @@ public class SurfacePresenter { } return true; } else { - return rawData.length() > 4 && "DDDD".equals(rawData.substring(0, 4)); + Log.d(logTag, "dataVerify2, rawData: " + rawData); + String rawDataEx = rawData; + if(rawData.startsWith("BBBB") && rawData.contains("DDDD")) { + int index = rawData.indexOf("DDDD"); + rawDataEx = rawData.substring(index); + } + Log.d(logTag, ("rawDataEx2: " + rawDataEx)); + return rawDataEx.length() > 4 && "DDDD".equals(rawDataEx.substring(0, 4)); } } catch (Exception e) { return rawData.length() > 5 && "DDDD".equals(rawData.substring(0, 4)); @@ -585,8 +598,14 @@ public class SurfacePresenter { * parameters: raw message * return value: String */ - private String getBody(String body) { - return body; + private String getBody(String rawData) { + String rawDataEx = rawData; + if(rawData.startsWith("BBBB") && rawData.contains("DDDD")) { + int index = rawData.indexOf("DDDD"); + rawDataEx = rawData.substring(index); + } + Log.d(logTag, ("rawDataEx3: " + rawDataEx)); + return rawDataEx; } /** diff --git a/app/src/main/java/com/boheng/zzf/cacacaca/utils/ToastHelper.java b/app/src/main/java/com/boheng/zzf/cacacaca/utils/ToastHelper.java index d260c10..7125192 100644 --- a/app/src/main/java/com/boheng/zzf/cacacaca/utils/ToastHelper.java +++ b/app/src/main/java/com/boheng/zzf/cacacaca/utils/ToastHelper.java @@ -194,6 +194,7 @@ public class ToastHelper { dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); } dialog.setView(view); + dialog.setCanceledOnTouchOutside(false); dialog.setCancelable(false); ImageView ivImg = view.findViewById(R.id.iv_loading); diff --git a/build.gradle b/build.gradle index f0c1700..1eb256f 100644 --- a/build.gradle +++ b/build.gradle @@ -3,6 +3,20 @@ apply from: 'config.gradle' buildscript { repositories { + maven() { + url 'https://maven.aliyun.com/repository/jcenter' + } + maven(){ + url 'https://maven.aliyun.com/repository/google' + } + maven { + url 'https://maven.aliyun.com/repository/public' + } + maven { + url 'https://maven.aliyun.com/repository/mapr-public' + } + + google() jcenter() mavenCentral() @@ -11,6 +25,7 @@ buildscript { classpath 'com.android.tools.build:gradle:3.5.3' //首先添加这个 + //classpath 'com.novoda:bintray-release:+' classpath 'com.novoda:bintray-release:+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files