release V38
authorsnickersun <scy@incartech.cn>
Tue, 11 Aug 2020 17:06:08 +0000 (01:06 +0800)
committersnickersun <scy@incartech.cn>
Tue, 11 Aug 2020 17:06:08 +0000 (01:06 +0800)
A9项目
1、添加A9项目的检测,通过customname 判断H88、Q3F和A9-YQ
2、修正IC66心率检测界面出错问题
3、适配A9项目窗口大小,以便能让用户直接进行操作。

app/release/FactoryMode_V38_202008112317_release.apk [new file with mode: 0644]
app/release/output.json
app/src/main/java/mobile/miki/BaseActivity.java
app/src/main/java/mobile/miki/HeartRate.java
app/src/main/java/mobile/miki/util/Config.java
app/src/main/java/mobile/miki/util/FTUtils.java
app/version_code.properties

diff --git a/app/release/FactoryMode_V38_202008112317_release.apk b/app/release/FactoryMode_V38_202008112317_release.apk
new file mode 100644 (file)
index 0000000..a81f202
Binary files /dev/null and b/app/release/FactoryMode_V38_202008112317_release.apk differ
index 30e78aa..f668de2 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":37,"versionName":"202008101956","enabled":true,"outputFile":"FactoryMode_V37_202008101956_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V37_202008101956_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":38,"versionName":"202008112317","enabled":true,"outputFile":"FactoryMode_V38_202008112317_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V38_202008112317_release.apk","properties":{}}]
\ No newline at end of file
index fc3b1a4..7bf0502 100644 (file)
@@ -10,8 +10,12 @@ import android.os.Bundle;
 import android.os.Handler;\r
 import android.os.PowerManager;\r
 import android.os.PowerManager.WakeLock;\r
+import android.os.SystemProperties;\r
 import android.util.Log;\r
+import android.view.Display;\r
 import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.view.Window;\r
 \r
 public class BaseActivity extends Activity {\r
     private static final String TAG = "BaseActivity";\r
@@ -32,7 +36,18 @@ public class BaseActivity extends Activity {
                        handler.postDelayed(runnable, 1000 * 60 * 30); //30分钟不灭屏\r
                        \r
                }\r
-        \r
+        resizewindow();\r
+    }\r
+\r
+    private void resizewindow(){\r
+        if(SystemProperties.get("persist.sys.id_num","").equalsIgnoreCase("A9")\r
+                || SystemProperties.get("persist.sys.customname","").equalsIgnoreCase("YQ")) {\r
+            Display display = getWindowManager().getDefaultDisplay(); // 为获取屏幕宽、高\r
+            Window window = getWindow();\r
+            ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值\r
+            windowLayoutParams.width = 170;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95\r
+            windowLayoutParams.height = 170;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6\r
+        }\r
     }\r
     \r
     @Override\r
index e045f88..0a68c15 100644 (file)
@@ -44,7 +44,7 @@ public class HeartRate extends BaseActivity implements View.OnClickListener, Sen
         super.onCreate(savedInstanceState);\r
         setContentView(R.layout.heartrate_layout);\r
         initView();\r
-        int hrsType = ICJniUtils.isPPGavailable();\r
+        hrsType = ICJniUtils.isPPGavailable();\r
         Log.i("dxc", "heartrate available : " + hrsType);\r
         if (hrsType == ICJniUtils.PPG_EGC_SensorType.PPG_EGC_TYPE_IC66.ordinal()) {\r
 \r
@@ -69,25 +69,46 @@ public class HeartRate extends BaseActivity implements View.OnClickListener, Sen
         @Override\r
         public boolean handleMessage(Message message) {\r
 \r
-            if(ICJniUtils.isPPGavailable()>0) {\r
-                  if (ICJniUtils.isPPGStarted()==0){\r
-                     ICJniUtils.enablePPG();\r
+            switch(message.what)\r
+            {\r
+                case 0:\r
+                    if(ICJniUtils.isPPGavailable()>0) {\r
+                        if (ICJniUtils.isPPGStarted()==0){\r
+                            ICJniUtils.enablePPG();\r
+\r
+                        }\r
+                        int ppg = ICJniUtils.getPPG();\r
+                        int weared = ICJniUtils.isWeared();\r
+\r
+                        String wearedstr = String.valueOf(weared);\r
+                        String ppgstr = String.valueOf(ppg);\r
+\r
+                        tv_isweared.setText(" "+wearedstr);\r
+                        tv_ppg.setText(" "+ppgstr);\r
+\r
+                        Log.d("dxc","Weared:" + wearedstr + " PPG:" + ppgstr );\r
+                    }else{\r
+                        tv_isweared.setText(" "+HeartRate.this.getResources().getString(R.string.no_heartrate));\r
+                        tv_ppg.setText("");\r
+                    }\r
+                    break;\r
+                case 1:\r
+                    Bundle bdl=message.getData();\r
+                    String weared=bdl.getString("isweared");\r
+                    String ppg=bdl.getString("PPG");\r
+                    if (!weared.trim().isEmpty() && !ppg.trim().isEmpty())\r
+                    {\r
+                        tv_isweared.setText(" "+weared);\r
+                        tv_ppg.setText(" "+ppg);\r
+                    }else{\r
+                        tv_isweared.setText(" "+HeartRate.this.getResources().getString(R.string.no_heartrate));\r
+                        tv_ppg.setText("");\r
+                    }\r
+\r
+                    break;\r
 \r
-                }\r
-                int ppg = ICJniUtils.getPPG();\r
-                int weared = ICJniUtils.isWeared();\r
-\r
-                String wearedstr = String.valueOf(weared);\r
-                String ppgstr = String.valueOf(ppg);\r
-\r
-                tv_isweared.setText(wearedstr);\r
-                tv_ppg.setText(ppgstr);\r
-\r
-                Log.d("dxc","Weared:" + wearedstr + " PPG:" + ppgstr );\r
-            }else{\r
-                tv_isweared.setText(HeartRate.this.getResources().getString(R.string.no_heartrate));\r
-                tv_ppg.setText("");\r
             }\r
+\r
             return false;\r
         }\r
     });\r
@@ -162,10 +183,17 @@ public class HeartRate extends BaseActivity implements View.OnClickListener, Sen
                 +" , Weared = "+values[4]\r
         );\r
 \r
-        int PPG = (int)values[0];//调用底层函数保证状态更新。\r
-        boolean isWared = ((int)values[4] == 2);\r
-        tv_isweared.setText(isWared?1:0);\r
-        tv_ppg.setText(PPG);\r
+        Message msg=new Message();\r
+        Bundle bdl=new Bundle();\r
+        msg.what=1;\r
+        bdl.putString("isweared", ((int)values[4] == 2)?"1":"0");\r
+        bdl.putString("PPG",String.valueOf(values[0]));\r
+        msg.setData(bdl);\r
+        mhandler.sendMessage(msg);\r
+    //    int PPG = (int)values[0];//调用底层函数保证状态更新。\r
+     //   boolean isWared = ((int)values[4] == 2);\r
+    //    tv_isweared.setText(isWared?1:0);\r
+     //   tv_ppg.setText(PPG);\r
         /*[0]---心率;[1]---血压高压;[2]---血压低压;[3]---血氧;[4]---佩戴检测(1--脱手,2--上手);*/\r
     }\r
 \r
index 998d415..63ec037 100644 (file)
@@ -272,15 +272,8 @@ public class Config {
             testResultList.add("bt");\r
             testResultList.add("dsp");\r
             testResultList.add("heartrate");\r
-        } else if (FTUtils.isQ3F()){\r
 \r
-            list.add(context.getString(R.string.test_keypad));\r
-            list.add(context.getString(R.string.shakeTest));\r
-            list.add(context.getString(R.string.heartrate));\r
-            testResultList.add("keys");\r
-            testResultList.add("vibrator");\r
-            testResultList.add("heartrate");\r
-        } else if (FTUtils.isH88()){\r
+        } else if (FTUtils.hasHRS_TEMP()){\r
 \r
             //list.add(context.getString(R.string.test_keypad));\r
             list.add(context.getString(R.string.heartrate));\r
@@ -290,6 +283,14 @@ public class Config {
             testResultList.add("heartrate");\r
             testResultList.add("temperature");\r
             testResultList.remove("camera");\r
+        } else if (FTUtils.isQ3F()){\r
+\r
+            list.add(context.getString(R.string.test_keypad));\r
+            list.add(context.getString(R.string.shakeTest));\r
+            list.add(context.getString(R.string.heartrate));\r
+            testResultList.add("keys");\r
+            testResultList.add("vibrator");\r
+            testResultList.add("heartrate");\r
         }\r
         stateArr = new String[testResultList.size()];\r
         return list;\r
index 416c9d4..b89afb2 100644 (file)
@@ -205,9 +205,14 @@ public class FTUtils {
         }\r
         return false;\r
     }\r
-    public static  boolean isH88(){\r
-\r
-        if (getMODEL().contains("H88")||SystemProperties.get("ro.product.isH88","").equalsIgnoreCase("true")  || SystemProperties.get("persist.sys.id_num","").equalsIgnoreCase("H88") ) {\r
+    public static  boolean hasHRS_TEMP(){\r
+\r
+        if (getMODEL().contains("H88")\r
+                ||SystemProperties.get("ro.product.isH88","").equalsIgnoreCase("true")\r
+                || SystemProperties.get("persist.sys.id_num","").equalsIgnoreCase("H88")\r
+                || SystemProperties.get("persist.sys.id_num","").equalsIgnoreCase("A9")\r
+                || SystemProperties.get("persist.sys.customname","").equalsIgnoreCase("YQ")\r
+        ) {\r
             return true;\r
         }\r
         return false;\r
index e534dad..bed6355 100644 (file)
@@ -1,2 +1,2 @@
-#Mon Aug 10 19:56:33 CST 2020\r
-VERSION_CODE=37\r
+#Tue Aug 11 23:17:08 CST 2020\r
+VERSION_CODE=38\r