release ICL02WorkService V57 20201025
authorsnickersun <scy@incartech.cn>
Sat, 24 Oct 2020 16:45:09 +0000 (00:45 +0800)
committersnickersun <scy@incartech.cn>
Sat, 24 Oct 2020 16:45:09 +0000 (00:45 +0800)
添加环境温度检测。

app/IcL02WorkService/release/IcL02WorkService_V57_202010132019_release.apk [deleted file]
app/IcL02WorkService/release/IcL02WorkService_V57_202010250043_release.apk [new file with mode: 0644]
app/src/main/aidl/com/ic/aidl/temp/ITempAidlInterface.aidl
app/src/main/java/com/ic/work/WorkService.java
app/src/main/java/com/ic/work/event/TemperatureResultCompleteEvent.java
app/src/main/java/com/ic/work/event/TemperatureResultEvent.java
app/src/main/java/com/ic/work/hardware/TemperatureRunnable.java
app/src/main/java/com/ic/work/process/TempProcess.java
app/src/main/java/com/ic/work/utils/HardwareUtils.java

diff --git a/app/IcL02WorkService/release/IcL02WorkService_V57_202010132019_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V57_202010132019_release.apk
deleted file mode 100644 (file)
index 2dd6727..0000000
Binary files a/app/IcL02WorkService/release/IcL02WorkService_V57_202010132019_release.apk and /dev/null differ
diff --git a/app/IcL02WorkService/release/IcL02WorkService_V57_202010250043_release.apk b/app/IcL02WorkService/release/IcL02WorkService_V57_202010250043_release.apk
new file mode 100644 (file)
index 0000000..394a609
Binary files /dev/null and b/app/IcL02WorkService/release/IcL02WorkService_V57_202010250043_release.apk differ
index 2feb420..433313c 100644 (file)
@@ -6,6 +6,6 @@ interface ITempAidlInterface {
      * Demonstrates some basic types that you can use as parameters
      * and return values in AIDL.
      */
-     void updateCurrTempValue(double value,double animal);
-     void updateResultTempValue(double value,double animal);
+     void updateCurrTempValue(double value,double animal,double tempOut);
+     void updateResultTempValue(double value,double animal,double tempOut);
 }
index 54670fa..067554f 100644 (file)
@@ -72,6 +72,7 @@ public class WorkService extends Service {
     public static final String ACTION_TEMP_RESULT = "com.ic.action.temp_result";
     public static final String KEY_TEMP_BODY = "body";  // double 体温
     public static final String KEY_TEMP_WRIST = "wrist";  //  double 腕温
+    public static final String KEY_TEMP_OUT = "out";  //  double 腕温
 
     private static final String TXT_ACTION = "action.ic.srvPushTxt";
     private static final String TYPE_KEY = "msgType";
@@ -205,7 +206,7 @@ public class WorkService extends Service {
         }
 
         //发送一次广播给 心率 launcher
-        sendHeartBroadcast(event.getHeart());
+        sendHeartBroadcast(event.getHeart(),event.getOxygen());
     }
 
     @Subscribe(threadMode = ThreadMode.MAIN)
@@ -259,7 +260,7 @@ public class WorkService extends Service {
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMessageEvent(TemperatureResultEvent event) {
         if (tempProcess != null) {
-            tempProcess.sendCurrTempValue(event.value, event.animal);
+            tempProcess.sendCurrTempValue(event.value, event.animal,event.tempOut);
         }
 
         if (akProcess != null) {
@@ -269,9 +270,9 @@ public class WorkService extends Service {
 
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMessageEvent(TemperatureResultCompleteEvent event) {
-        sendTempBroadcast(event.value, event.animal);
+        sendTempBroadcast(event.value, event.animal,event.tempOut);
         if (tempProcess != null) {
-            tempProcess.sendResultTempValue(event.value, event.animal);
+            tempProcess.sendResultTempValue(event.value, event.animal,event.tempOut);
         }
 
         if (akProcess != null) {
@@ -297,7 +298,7 @@ public class WorkService extends Service {
         }
 
         //发送一次广播给 心率 launcher
-        sendHeartBroadcast(event.heart);
+        sendHeartBroadcast(event.heart,event.oxygen);
     }
 
     @Subscribe(threadMode = ThreadMode.MAIN)
@@ -366,19 +367,21 @@ public class WorkService extends Service {
         //testBatteryBroadcast(this,"ddddddddddddtttttttttttttttttttttttt");
     }
 
-    private void sendHeartBroadcast(int count) {
+    private void sendHeartBroadcast(int count,int spo2) {
         Intent pedIntent = new Intent();
         pedIntent.setAction(HEART_ACTION);
         pedIntent.putExtra("BLOOD_HEART", count);
-        Log.i(TAG,"sendHeartBroadcast "+HEART_ACTION+" BLOOD_HEART "+count);
+        pedIntent.putExtra("BLOOD_SPO2", spo2);
+        Log.i(TAG,"sendHeartBroadcast "+HEART_ACTION+" BLOOD_HEART "+count+" BLOOD_SPO2 "+spo2);
         sendBroadcast(pedIntent);
     }
 
-    private void sendTempBroadcast(double value, double animal) {
+    private void sendTempBroadcast(double value, double animal,double tempOut) {
         Intent pedIntent = new Intent();
         pedIntent.setAction(ACTION_TEMP_RESULT);
         pedIntent.putExtra(KEY_TEMP_WRIST, value);
         pedIntent.putExtra(KEY_TEMP_BODY, animal);
+        pedIntent.putExtra(KEY_TEMP_OUT, tempOut);
         sendBroadcast(pedIntent);
     }
 
index d4c2bf8..4fcd0a6 100644 (file)
@@ -3,9 +3,11 @@ package com.ic.work.event;
 public class TemperatureResultCompleteEvent {
     public double value;
     public double animal;
+    public double tempOut;
 
-    public TemperatureResultCompleteEvent(double value, double animal) {
+    public TemperatureResultCompleteEvent(double value, double animal,double tempOut) {
         this.value = value;
         this.animal = animal;
+        this.tempOut = tempOut;
     }
 }
index eb6860d..4cbd4c0 100644 (file)
@@ -3,9 +3,12 @@ package com.ic.work.event;
 public class TemperatureResultEvent {
     public double value;
     public double animal;
+    public double tempOut;
 
-    public TemperatureResultEvent(double value, double animal) {
+
+    public TemperatureResultEvent(double value, double animal,double tempOut) {
         this.value = value;
         this.animal = animal;
+        this.tempOut = tempOut;
     }
 }
index c2180cc..7429479 100644 (file)
@@ -17,7 +17,8 @@ public class TemperatureRunnable implements Runnable {
     public void run() {
         double testValue = 0.0;
         double animal = 0.0;
-        int delay_times_in_seconds=20;
+        double tempout = 0.0;
+        int delay_times_in_seconds=10;
         boolean[] state = HardwareUtils.isTemperatureDevAvailable();
         IcLog.i(TAG, "TemperatureRunnable :"+state[0]+" state[1]:"+state[1]);
         if(state[0]) {  //have temp
@@ -34,9 +35,16 @@ public class TemperatureRunnable implements Runnable {
 //                    }
                     while (true) {
                         testValue = HardwareUtils.getNdkTemperatureValue();
-                        animal = HardwareUtils.getBodyTempFromWristTemp(testValue, room_temperature);
-                        IcLog.i(TAG, "getNdkTemperatureValue  Value:" + testValue);
-                        EventBus.getDefault().post(new TemperatureResultEvent(testValue, animal));
+                        tempout = HardwareUtils.getNdkTemperatureOutValue();
+                        if (tempout<0 || tempout > 60 )
+                            tempout=0;
+                        if(tempout>0 ){
+                            animal = HardwareUtils.getBodyTempFromWristTemp(testValue, tempout);
+                        }else {
+                            animal = HardwareUtils.getBodyTempFromWristTemp(testValue, room_temperature);
+                        }
+                        IcLog.i(TAG, "getNdkTemperatureValue  Value:" + testValue + " TempOut:"+tempout+" bodyTemp:"+animal);
+                        EventBus.getDefault().post(new TemperatureResultEvent(testValue, animal,tempout));
                         try {
                             Thread.sleep(1000);
                         } catch (InterruptedException e) {
@@ -56,7 +64,7 @@ public class TemperatureRunnable implements Runnable {
                 }
         }
 
-        EventBus.getDefault().post(new TemperatureResultCompleteEvent(testValue, animal));
+        EventBus.getDefault().post(new TemperatureResultCompleteEvent(testValue, animal,tempout));
     }
 
     public static double div(double value1, int value2, int scale) {
index ce6fd2f..7c551e9 100644 (file)
@@ -54,13 +54,13 @@ public class TempProcess {
         }
     };
 
-    public void sendCurrTempValue(double value,double animal) {
+    public void sendCurrTempValue(double value,double animal,double tempOut) {
         int N = 0;
         IcLog.d(TAG, "sendCurrTempValue "+value);
         try {
             N = mCallbacks.beginBroadcast();
             for (int i = 0; i < N; i++) {
-                mCallbacks.getBroadcastItem(i).updateCurrTempValue(value,animal);
+                mCallbacks.getBroadcastItem(i).updateCurrTempValue(value,animal,tempOut);
             }
         } catch (NullPointerException e) {
             IcLog.e(TAG, "",e);
@@ -77,12 +77,12 @@ public class TempProcess {
         }
     }
 
-    public void sendResultTempValue(double value,double animal) {
+    public void sendResultTempValue(double value,double animal,double tempOut) {
         int N = 0;
         try {
             N = mCallbacks.beginBroadcast();
             for (int i = 0; i < N; i++) {
-                mCallbacks.getBroadcastItem(i).updateResultTempValue(value,animal);
+                mCallbacks.getBroadcastItem(i).updateResultTempValue(value,animal,tempOut);
             }
         } catch (NullPointerException e) {
             IcLog.e(TAG, "",e);
index d60812f..14f8627 100644 (file)
@@ -139,7 +139,14 @@ public class HardwareUtils {
             return 0;
         }
     }
-
+    public static double getNdkTemperatureOutValue() {
+        try {
+            return ICJniUtils.getTemperatureOrigin();
+        } catch (Exception e) {
+            IcLog.e(TAG, "",e);
+            return 0;
+        }
+    }
     public static double getBodyTempFromWristTemp(double wrist_temp,double ref_temp) {
         try {
             return ICJniUtils.getBodyTempFromWristTemp(wrist_temp,ref_temp);