protocolV2 V966
authorSnickerSun <scy@incartech.cn>
Sun, 3 Oct 2021 10:28:32 +0000 (18:28 +0800)
committerSnickerSun <scy@incartech.cn>
Sun, 3 Oct 2021 10:28:32 +0000 (18:28 +0800)
体温检测增加2秒钟测量结果延时上传,过滤掉无用的重复上传数据。

app/release/ICSer_V966_2110031826_release.apk [moved from app/release/ICSer_V965_2109291733_release.apk with 78% similarity]
app/release/output.json
app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/Constants.java
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/bean/ICLocation.java
app/src/main/java/com/enqualcomm/support/service/AudioService.java
app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java
app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java
app/version_code.properties

similarity index 78%
rename from app/release/ICSer_V965_2109291733_release.apk
rename to app/release/ICSer_V966_2110031826_release.apk
index 8452f63..327ceae 100644 (file)
Binary files a/app/release/ICSer_V965_2109291733_release.apk and b/app/release/ICSer_V966_2110031826_release.apk differ
index d1448fc..3cf56cb 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":965,"versionName":"2109291733","enabled":true,"outputFile":"ICSer_V965_2109291733_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V965_2109291733_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":966,"versionName":"2110031826","enabled":true,"outputFile":"ICSer_V966_2110031826_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V966_2110031826_release.apk","properties":{}}]
\ No newline at end of file
index 380b305..8af9d91 100644 (file)
@@ -63,6 +63,8 @@ public class Config {
     public static String DefaultWiFiPWD = "87654321";
     public static String DefaultWiFiEncryptType = "psk";
 
+    public static final int TemperatureTestResultSendTimeOut = 2; // 温度测试结果发送超时2秒 ,两秒内更新不发送,超过两秒不更新才发送
+
     public static final int GPSLocationTimeoutInSeconds = 50;
     public static final int WiFiLocationTimeoutInSeconds = 12;
 
index 3a83579..ff6634e 100644 (file)
@@ -103,7 +103,7 @@ public interface Constants {
     String ACTION_CHECK_SERVER_RESPONSE = "com.enqualcomm.support.ACTION_CHECK_SERVER_RESPONSE";
     String ACTION_RETRY_SERVER_CONNECT = "com.enqualcomm.support.ACTION_RETRY_SERVER_CONNECT";
     String ACTION_CHECK_LOCATION_RESULT = "com.enqualcomm.support.ACTION_CHECK_LOCATION_RESULT";
-
+    String ACTION_TEMP_RESULT_SEND_TIMEOUT = "com.enqualcomm.support.ACTION_TEMP_RESULT_SEND_TIMEOUT";
 
     String ACTION_MESSAGE_SENT = "com.ic.action.message_sent";
     String ACTION_MESSAGE_RECEIVED = "com.ic.action.message_received";
index b954162..b39577d 100644 (file)
@@ -1488,6 +1488,8 @@ public class CoreService extends Service {
                         Util.shutdown();
                     }
                 }, 1000);
+            }else if (Constants.ACTION_TEMP_RESULT_SEND_TIMEOUT.equals(paramIntent.getAction())){
+                TemperatureUtil.getInstance().sendTempResult();
             }
             this.invokeHandlerServiceChain.processUserRequest(paramIntent, this.connection, this.runtime);
 
index b77cf97..78127c1 100644 (file)
@@ -84,6 +84,7 @@ public class ICLocation {
         LOCATION_GPS_TIEMOUT,\r
         LOCATION_WIFI_FAILED,\r
         LOCATION_CLOSED,\r
+        LOCATION_UNKNOWN,\r
     }\r
 \r
 \r
@@ -283,25 +284,46 @@ public class ICLocation {
     private int rxlevel = 0;\r
     private boolean datachanged = false;\r
 \r
+    private String lastMCC="0";\r
+    private String lastMNC = "0";\r
+    private int lastLAC = 0;\r
+    private int lastCID = 0;\r
+\r
+    public void save_last_MCC_MNC_LAC_CID(){\r
+        lastMCC=MCC;\r
+        lastMNC=MNC;\r
+        lastLAC=LAC;\r
+        lastCID=CID;\r
+        datachanged = false;\r
+    }\r
     public void setMCC(String mcc) {\r
-        MCC = mcc;\r
-        datachanged = true;\r
+        if (!mcc.equals(lastMCC)) {\r
+            MCC = mcc;\r
+            datachanged = true;\r
+        }\r
     }\r
 \r
     public void setMNC(String mnc) {\r
-        ICLogger.d("MNC==> " + mnc);\r
-        MNC = mnc;\r
-        datachanged = true;\r
+       if(!mnc.equals(lastMNC)) {\r
+           ICLogger.d("MNC==> " + mnc);\r
+           MNC = mnc;\r
+           datachanged = true;\r
+       }\r
     }\r
 \r
     public void setLAC(int lac) {\r
-        LAC = lac;\r
-        datachanged = true;\r
+        if(lac!=lastLAC) {\r
+            ICLogger.d("LAC==> " + lac);\r
+            LAC = lac;\r
+            datachanged = true;\r
+        }\r
     }\r
 \r
     public void setCID(int cid) {\r
-        CID = cid;\r
-        datachanged = true;\r
+        if(cid!=lastCID) {\r
+            CID = cid;\r
+            datachanged = true;\r
+        }\r
     }\r
 \r
     public void setRxlevel(int level) {\r
index ee11e51..0a5cacf 100644 (file)
@@ -120,18 +120,19 @@ public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.On
 \r
 \r
     public void startRecord(String FileName) {\r
-        if (mRecorder == null)\r
-            mRecorder = new MediaRecorder();\r
-        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);\r
-        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);\r
-        mRecorder.setOutputFile(FileName);\r
-        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);\r
         try {\r
+            if (mRecorder == null)\r
+                mRecorder = new MediaRecorder();\r
+            mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);\r
+            mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);\r
+            mRecorder.setOutputFile(FileName);\r
+            mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);\r
+\r
             mRecorder.prepare();\r
+            mRecorder.start();\r
         } catch (IOException e) {\r
             ICLogger.e("prepare() failed");\r
         }\r
-        mRecorder.start();\r
     }\r
 \r
     public void stopRecord() {\r
index e725ef8..6c5cb8d 100644 (file)
@@ -110,7 +110,7 @@ public class CellInfoUtil {
         try {
             CellLocation celllocation = tm.getCellLocation();
             if (celllocation == null) {
-                ICLogger.i("cellLocation = null");
+                ICLogger.i("no signal, cellLocation = null");
                 return 1;
             } else {
                 if (celllocation instanceof GsmCellLocation) {
@@ -162,6 +162,7 @@ public class CellInfoUtil {
          * CID,Cell Identity,基站编号。
          * BSSS,Base station signal strength,基站信号强度。
          */
+        runtime.getLocationInstance().save_last_MCC_MNC_LAC_CID();
         int maxstationCount = 0;
         String mccmnc;
         if (Build.VERSION.SDK_INT > 23) {
index 748fb16..00af445 100644 (file)
@@ -22,6 +22,7 @@ import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
 import com.enqualcomm.support.provider.ICNotificationProvider;
 import com.enqualcomm.support.provider.WarningItemProvider;
 import com.enqualcomm.support.service.Deliver;
+import com.ic.jni.ICJniUtils;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.work.ITempSensorCallback;
 import com.ic.work.ITempSensorService;
@@ -74,6 +75,15 @@ public class TemperatureUtil {
         }
     };
 
+    private static Temperature CurrentTemperature=null;
+    public  void trigger_timer_send(Context context){
+        ICLogger.d("trigger_timer_send "+Config.TemperatureTestResultSendTimeOut+" "+Constants.ACTION_TEMP_RESULT_SEND_TIMEOUT);
+        AlarmHelper.setRealTimeAlarmInSeconds(context,Config.TemperatureTestResultSendTimeOut,Constants.ACTION_TEMP_RESULT_SEND_TIMEOUT);
+    }
+    public void sendTempResult(){
+        //处理结果
+        handleTemperature(CurrentTemperature);
+    }
 
     private final ITempSensorCallback.Stub mRemoteCallback = new ITempSensorCallback.Stub() {
         @Override
@@ -84,8 +94,10 @@ public class TemperatureUtil {
         @Override
         public void onTemperatureGet(Temperature temperature) {
             ICLogger.d("on temperature test end..." + temperature);
-            //处理结果
-            handleTemperature(temperature);
+            CurrentTemperature=temperature;
+            if (CoreService.getInstance()!=null){
+               trigger_timer_send( CoreService.getInstance().getApplicationContext());
+            }
         }
 
         @Override
index b4a9c90..f8884e0 100644 (file)
@@ -1,2 +1,2 @@
-#Wed Sep 29 17:33:51 CST 2021\r
-VERSION_CODE=965\r
+#Sun Oct 03 18:26:30 CST 2021\r
+VERSION_CODE=966\r