|
|
|
@ -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; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|