-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":57,"versionName":"202012211803","enabled":true,"outputFile":"FactoryMode_V57_202012211803_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V57_202012211803_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":58,"versionName":"202012212129","enabled":true,"outputFile":"FactoryMode_V58_202012212129_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V58_202012212129_release.apk","properties":{}}]
\ No newline at end of file
-package mobile.miki;\r
-\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.hardware.Sensor;\r
-import android.hardware.SensorEvent;\r
-import android.hardware.SensorEventListener;\r
-import android.hardware.SensorManager;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-import android.os.PowerManager;\r
-\r
-\r
-\r
-import android.content.Intent;\r
-import android.hardware.Sensor;\r
-import android.hardware.SensorEvent;\r
-import android.hardware.SensorEventListener;\r
-import android.hardware.SensorManager;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-import android.preference.PreferenceManager;\r
-import android.util.Log;\r
-import android.view.View;\r
-import android.widget.TextView;\r
-\r
-import com.ic.jni.ICJniUtils;\r
-\r
-import java.io.DataInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.IOException;\r
-import java.util.Timer;\r
-import java.util.TimerTask;\r
-\r
-import mobile.miki.mainui.ButtonViewTwo;\r
-import mobile.miki.mainui.TestMainActivity;\r
-import mobile.miki.util.Config;\r
-import mobile.miki.util.Logger;\r
-import static java.lang.Thread.sleep;\r
-\r
-public class AntiMonitorActivity extends BaseActivity implements View.OnClickListener, SensorEventListener {\r
-\r
- private ButtonViewTwo buttonView;\r
- boolean running;\r
- private TextView tv_isweared;\r
- private TextView tv_ppg;\r
- private TextView tv_isweared_value;\r
- private TextView tv_ppg_value;\r
- private SensorManager mSensorManager=null;\r
- private Sensor mAntiManager=null;\r
- @Override\r
- protected void onCreate(Bundle savedInstanceState) {\r
- super.onCreate(savedInstanceState);\r
- setContentView(R.layout.heartrate_layout);\r
- initView();\r
-\r
- mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);\r
- mAntiManager = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);\r
- boolean ret = mSensorManager.registerListener(this, mAntiManager, SensorManager.SENSOR_DELAY_UI);\r
- Log.i( "dxc","AntiMonitor ret :: " + ret);\r
-\r
-\r
- }\r
-\r
- Handler mhandler=new Handler(new Handler.Callback() {\r
- @Override\r
- public boolean handleMessage(Message message) {\r
-\r
- switch(message.what)\r
- {\r
- case 1: {\r
- Bundle bdl = message.getData();\r
-\r
- int anti = bdl.getInt("AntiEvent");\r
- tv_isweared_value.setText(" " + anti);\r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
- return false;\r
- }\r
- });\r
- @Override\r
- protected void onDestroy() {\r
- super.onDestroy();\r
- Log.i( "dxc","Anti Monitor onDestroy");\r
- mSensorManager.unregisterListener(this);\r
-\r
- }\r
-\r
- @Override\r
- protected void onPause() {\r
- super.onPause();\r
- Log.i( "dxc","Anti Monitor onPause");\r
-\r
- }\r
-\r
- private void initView() {\r
- buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
- buttonView.btn_left.setOnClickListener(this);\r
- buttonView.btn_right.setOnClickListener(this);\r
- buttonView.setSuccessColor();\r
- buttonView.btn_left.setClickable(true);\r
-\r
- tv_isweared_value=(TextView)findViewById(R.id.tv_weared_value);\r
- tv_isweared_value.setText("");\r
-\r
- tv_ppg_value=(TextView)findViewById(R.id.tv_ppg_value);\r
- tv_ppg_value.setVisibility(View.GONE);\r
-\r
-\r
- tv_isweared=(TextView)findViewById(R.id.tv_isweared);\r
- tv_isweared.setText("AntiCheck:");\r
- tv_ppg=(TextView)findViewById(R.id.tv_ppg);\r
- tv_ppg.setVisibility(View.GONE);\r
-\r
-\r
- }\r
-\r
- @Override\r
- public void onClick(View view) {\r
- Intent intent = Config.getNextTestIntent(this,this.getClass());//new Intent(this, SimDetectActivity.class);\r
- intent.putExtra("running", true);\r
- Intent intent1 = new Intent(this, TestMainActivity.class);\r
- // TestResult testResult = (TestResult) getApplicationContext();\r
- switch (view.getId()) {\r
-\r
- case R.id.btn_two_left:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("anti", "true").commit();\r
- finish();\r
- break;\r
- case R.id.btn_two_right:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("anti", "false").commit();\r
- finish();\r
- break;\r
- }\r
- }\r
-\r
- @Override\r
- public void onSensorChanged(SensorEvent sensorEvent) {\r
- float values[]=sensorEvent.values;\r
- int length = values.length;\r
- if (length>0) {\r
- int current_anti_status = (int) sensorEvent.values[0];\r
- Log.i("AntiMonitor", "近距离 " + current_anti_status);\r
- Message msg = new Message();\r
- Bundle bdl = new Bundle();\r
- msg.what = 1;\r
- bdl.putInt("AntiEvent",current_anti_status );\r
- msg.setData(bdl);\r
- mhandler.sendMessage(msg);\r
- }\r
- }\r
-\r
- @Override\r
- public void onAccuracyChanged(Sensor sensor, int i) {\r
- Log.i("dxc","onAccuracyChanged() is called "+sensor.getName()+" accuracy="+i);\r
- }\r
-}\r
-\r
+package mobile.miki;
+
+import android.content.Context;
+import android.content.Intent;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.os.Handler;
+import android.os.Message;
+import android.os.PowerManager;
+
+
+
+import android.content.Intent;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import com.ic.jni.ICJniUtils;
+
+import java.io.DataInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.util.Config;
+import mobile.miki.util.Logger;
+import static java.lang.Thread.sleep;
+
+public class AntiMonitorActivity extends BaseActivity implements View.OnClickListener, SensorEventListener {
+
+ private ButtonViewTwo buttonView;
+ boolean running;
+ private TextView tv_isweared;
+ private TextView tv_ppg;
+ private TextView tv_isweared_value;
+ private TextView tv_ppg_value;
+ private SensorManager mSensorManager=null;
+ private Sensor mAntiManager=null;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.heartrate_layout);
+ initView();
+ Intent intent = getIntent();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);
+ }
+ mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
+ mAntiManager = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
+ boolean ret = mSensorManager.registerListener(this, mAntiManager, SensorManager.SENSOR_DELAY_UI);
+ Log.i( "dxc","AntiMonitor ret :: " + ret);
+
+
+ }
+
+ Handler mhandler=new Handler(new Handler.Callback() {
+ @Override
+ public boolean handleMessage(Message message) {
+
+ switch(message.what)
+ {
+ case 1: {
+ Bundle bdl = message.getData();
+
+ int anti = bdl.getInt("AntiEvent");
+ tv_isweared_value.setText(" " + anti);
+
+ }
+ break;
+
+ }
+
+ return false;
+ }
+ });
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ Log.i( "dxc","Anti Monitor onDestroy");
+ mSensorManager.unregisterListener(this);
+
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ Log.i( "dxc","Anti Monitor onPause");
+
+ }
+
+ private void initView() {
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+
+ tv_isweared_value=(TextView)findViewById(R.id.tv_weared_value);
+ tv_isweared_value.setText("");
+
+ tv_ppg_value=(TextView)findViewById(R.id.tv_ppg_value);
+ tv_ppg_value.setVisibility(View.GONE);
+
+
+ tv_isweared=(TextView)findViewById(R.id.tv_isweared);
+ tv_isweared.setText("AntiCheck:");
+ tv_ppg=(TextView)findViewById(R.id.tv_ppg);
+ tv_ppg.setVisibility(View.GONE);
+
+
+ }
+
+ @Override
+ public void onClick(View view) {
+ Intent intent = Config.getNextTestIntent(this,this.getClass());//new Intent(this, SimDetectActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (view.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("anti", "true").commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("anti", "false").commit();
+ finish();
+ break;
+ }
+ }
+
+ @Override
+ public void onSensorChanged(SensorEvent sensorEvent) {
+ float values[]=sensorEvent.values;
+ int length = values.length;
+ if (length>0) {
+ int current_anti_status = (int) sensorEvent.values[0];
+ Log.i("AntiMonitor", "近距离 " + current_anti_status);
+ Message msg = new Message();
+ Bundle bdl = new Bundle();
+ msg.what = 1;
+ bdl.putInt("AntiEvent",current_anti_status );
+ msg.setData(bdl);
+ mhandler.sendMessage(msg);
+ }
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int i) {
+ Log.i("dxc","onAccuracyChanged() is called "+sensor.getName()+" accuracy="+i);
+ }
+}
+
-package mobile.miki;\r
-\r
-import android.content.Intent;\r
-import android.hardware.Sensor;\r
-import android.hardware.SensorEvent;\r
-import android.hardware.SensorEventListener;\r
-import android.hardware.SensorManager;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-import android.preference.PreferenceManager;\r
-import android.util.Log;\r
-import android.view.View;\r
-import android.widget.TextView;\r
-\r
-import com.ic.jni.ICJniUtils;\r
-\r
-import java.io.DataInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.IOException;\r
-import java.util.Timer;\r
-import java.util.TimerTask;\r
-\r
-import mobile.miki.mainui.ButtonViewTwo;\r
-import mobile.miki.mainui.TestMainActivity;\r
-import mobile.miki.util.Config;\r
-import mobile.miki.util.Logger;\r
-\r
-public class HeartRate extends BaseActivity implements View.OnClickListener, SensorEventListener {\r
-\r
- private ButtonViewTwo buttonView;\r
- boolean running;\r
- public static final int TYPE_HEART_RATE = 21;\r
- Timer mTimer=null;\r
-\r
- private TextView tv_isweared;\r
- private TextView tv_ppg;\r
- private int hrsType;\r
- private SensorManager mSensorManager=null;\r
- private Sensor mHeartRate=null;\r
- @Override\r
- protected void onCreate(Bundle savedInstanceState) {\r
- super.onCreate(savedInstanceState);\r
- setContentView(R.layout.heartrate_layout);\r
- initView();\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
- mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);\r
- mHeartRate = mSensorManager.getDefaultSensor(TYPE_HEART_RATE);\r
- boolean ret = mSensorManager.registerListener(this, mHeartRate, SensorManager.SENSOR_DELAY_UI);\r
- Log.i( "dxc","Heart Rate PPG_EGC_TYPE_IC66 opened ret :: " + ret);\r
-\r
- } else {\r
- mTimer = new Timer();\r
- TimerTask HRTimerTask = new TimerTask() {\r
- @Override\r
- public void run() {\r
- mhandler.sendEmptyMessage(0);\r
- }\r
- };\r
- mTimer.schedule(HRTimerTask, 0, 1000L);\r
- if(ICJniUtils.isPPGavailable()>0) {\r
- // if (ICJniUtils.isPPGStarted()==0){\r
- ICJniUtils.enablePPG();\r
- // }\r
- }else{\r
- tv_isweared.setText(" "+HeartRate.this.getResources().getString(R.string.no_heartrate));\r
- tv_ppg.setText("");\r
- }\r
- }\r
- }\r
-\r
- Handler mhandler=new Handler(new Handler.Callback() {\r
- @Override\r
- public boolean handleMessage(Message message) {\r
-\r
- switch(message.what)\r
- {\r
- case 0: {\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
- }\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
- 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
-\r
- return false;\r
- }\r
- });\r
- @Override\r
- protected void onDestroy() {\r
- super.onDestroy();\r
- if ( hrsType == ICJniUtils.PPG_EGC_SensorType.PPG_EGC_TYPE_IC66.ordinal()) {\r
- mSensorManager.unregisterListener(this);\r
- Log.i( "dxc","Heart Rate PPG_EGC_TYPE_IC66 closed");\r
- }else if(hrsType>0) {\r
- Log.i( "dxc","Heart Rate closed");\r
-\r
-\r
- if(mTimer!=null) {\r
- mTimer.cancel();\r
- mTimer=null;\r
- }\r
- ICJniUtils.disablePPG();\r
- }\r
- }\r
-\r
- @Override\r
- protected void onPause() {\r
- super.onPause();\r
- Log.i( "dxc","Heart Rate onPause");\r
-\r
- }\r
-\r
- private void initView() {\r
- buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
- buttonView.btn_left.setOnClickListener(this);\r
- buttonView.btn_right.setOnClickListener(this);\r
- buttonView.setSuccessColor();\r
- buttonView.btn_left.setClickable(true);\r
-\r
- tv_isweared=(TextView)findViewById(R.id.tv_weared_value);\r
- tv_ppg=(TextView)findViewById(R.id.tv_ppg_value);\r
-\r
- }\r
-\r
- @Override\r
- public void onClick(View view) {\r
- Intent intent = Config.getNextTestIntent(this,this.getClass());//new Intent(this, SimDetectActivity.class);\r
- intent.putExtra("running", true);\r
- Intent intent1 = new Intent(this, TestMainActivity.class);\r
- // TestResult testResult = (TestResult) getApplicationContext();\r
- switch (view.getId()) {\r
-\r
- case R.id.btn_two_left:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "true").commit();\r
- finish();\r
- break;\r
- case R.id.btn_two_right:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "false").commit();\r
- finish();\r
- break;\r
- }\r
- }\r
-\r
- @Override\r
- public void onSensorChanged(SensorEvent sensorEvent) {\r
- float values[]=sensorEvent.values;\r
- int length = values.length;\r
- Log.i( "dxc","onSensorChanged() is called "+length\r
- +" PPG = "+values[0]\r
- +", BPH = "+values[1]\r
- +", BPL = "+values[2]\r
- +", spo2 = "+values[3]\r
- +" , Weared = "+values[4]\r
- );\r
-\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
- @Override\r
- public void onAccuracyChanged(Sensor sensor, int i) {\r
- Log.i("dxc","onAccuracyChanged() is called "+sensor.getName()+" accuracy="+i);\r
- }\r
-}\r
+package mobile.miki;
+
+import android.content.Intent;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import com.ic.jni.ICJniUtils;
+
+import java.io.DataInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.util.Config;
+import mobile.miki.util.Logger;
+
+public class HeartRate extends BaseActivity implements View.OnClickListener, SensorEventListener {
+
+ private ButtonViewTwo buttonView;
+ boolean running;
+ public static final int TYPE_HEART_RATE = 21;
+ Timer mTimer=null;
+
+ private TextView tv_isweared;
+ private TextView tv_ppg;
+ private int hrsType;
+ private SensorManager mSensorManager=null;
+ private Sensor mHeartRate=null;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.heartrate_layout);
+ initView();
+
+ Intent intent = getIntent();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);
+ }
+ hrsType = ICJniUtils.isPPGavailable();
+ Log.i("dxc", "heartrate available : " + hrsType);
+ if (hrsType == ICJniUtils.PPG_EGC_SensorType.PPG_EGC_TYPE_IC66.ordinal()) {
+
+ mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
+ mHeartRate = mSensorManager.getDefaultSensor(TYPE_HEART_RATE);
+ boolean ret = mSensorManager.registerListener(this, mHeartRate, SensorManager.SENSOR_DELAY_UI);
+ Log.i( "dxc","Heart Rate PPG_EGC_TYPE_IC66 opened ret :: " + ret);
+
+ } else {
+ mTimer = new Timer();
+ TimerTask HRTimerTask = new TimerTask() {
+ @Override
+ public void run() {
+ mhandler.sendEmptyMessage(0);
+ }
+ };
+ mTimer.schedule(HRTimerTask, 0, 1000L);
+ if(ICJniUtils.isPPGavailable()>0) {
+ // if (ICJniUtils.isPPGStarted()==0){
+ ICJniUtils.enablePPG();
+ // }
+ }else{
+ tv_isweared.setText(" "+HeartRate.this.getResources().getString(R.string.no_heartrate));
+ tv_ppg.setText("");
+ }
+ }
+ }
+
+ Handler mhandler=new Handler(new Handler.Callback() {
+ @Override
+ public boolean handleMessage(Message message) {
+
+ switch(message.what)
+ {
+ case 0: {
+ int ppg = ICJniUtils.getPPG();
+ int weared = ICJniUtils.isWeared();
+
+ String wearedstr = String.valueOf(weared);
+ String ppgstr = String.valueOf(ppg);
+
+ tv_isweared.setText(" " + wearedstr);
+ tv_ppg.setText(" " + ppgstr);
+
+ Log.d("dxc", "Weared:" + wearedstr + " PPG:" + ppgstr);
+ }
+ break;
+ case 1: {
+ Bundle bdl = message.getData();
+ String weared = bdl.getString("isweared");
+ String ppg = bdl.getString("PPG");
+ if (!weared.trim().isEmpty() && !ppg.trim().isEmpty()) {
+ tv_isweared.setText(" " + weared);
+ tv_ppg.setText(" " + ppg);
+ } else {
+ tv_isweared.setText(" " + HeartRate.this.getResources().getString(R.string.no_heartrate));
+ tv_ppg.setText("");
+ }
+ }
+ break;
+
+ }
+
+ return false;
+ }
+ });
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if ( hrsType == ICJniUtils.PPG_EGC_SensorType.PPG_EGC_TYPE_IC66.ordinal()) {
+ mSensorManager.unregisterListener(this);
+ Log.i( "dxc","Heart Rate PPG_EGC_TYPE_IC66 closed");
+ }else if(hrsType>0) {
+ Log.i( "dxc","Heart Rate closed");
+
+
+ if(mTimer!=null) {
+ mTimer.cancel();
+ mTimer=null;
+ }
+ ICJniUtils.disablePPG();
+ }
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ Log.i( "dxc","Heart Rate onPause");
+
+ }
+
+ private void initView() {
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+
+ tv_isweared=(TextView)findViewById(R.id.tv_weared_value);
+ tv_ppg=(TextView)findViewById(R.id.tv_ppg_value);
+
+ }
+
+ @Override
+ public void onClick(View view) {
+ Intent intent = Config.getNextTestIntent(this,this.getClass());//new Intent(this, SimDetectActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (view.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "true").commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "false").commit();
+ finish();
+ break;
+ }
+ }
+
+ @Override
+ public void onSensorChanged(SensorEvent sensorEvent) {
+ float values[]=sensorEvent.values;
+ int length = values.length;
+ Log.i( "dxc","onSensorChanged() is called "+length
+ +" PPG = "+values[0]
+ +", BPH = "+values[1]
+ +", BPL = "+values[2]
+ +", spo2 = "+values[3]
+ +" , Weared = "+values[4]
+ );
+
+ Message msg=new Message();
+ Bundle bdl=new Bundle();
+ msg.what=1;
+ bdl.putString("isweared", ((int)values[4] == 2)?"1":"0");
+ bdl.putString("PPG",String.valueOf(values[0]));
+ msg.setData(bdl);
+ mhandler.sendMessage(msg);
+ // int PPG = (int)values[0];//调用底层函数保证状态更新。
+ // boolean isWared = ((int)values[4] == 2);
+ // tv_isweared.setText(isWared?1:0);
+ // tv_ppg.setText(PPG);
+ /*[0]---心率;[1]---血压高压;[2]---血压低压;[3]---血氧;[4]---佩戴检测(1--脱手,2--上手);*/
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int i) {
+ Log.i("dxc","onAccuracyChanged() is called "+sensor.getName()+" accuracy="+i);
+ }
+}
-package mobile.miki;\r
-\r
-import android.content.ComponentName;\r
-import android.content.Intent;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.HandlerThread;\r
-import android.os.Looper;\r
-import android.os.Message;\r
-import android.os.UserHandle;\r
-import android.preference.PreferenceManager;\r
-import android.util.Log;\r
-import android.view.View;\r
-import android.widget.TextView;\r
-\r
-import com.ic.jni.ICJniUtils;\r
-\r
-import java.lang.ref.WeakReference;\r
-import java.util.Timer;\r
-import java.util.TimerTask;\r
-\r
-import mobile.miki.mainui.ButtonViewTwo;\r
-import mobile.miki.mainui.TestMainActivity;\r
-import mobile.miki.util.Config;\r
-import mobile.miki.util.Logger;\r
-\r
-public class TemperatureActivity extends BaseActivity implements View.OnClickListener {\r
-\r
- private ButtonViewTwo buttonView;\r
- boolean running;\r
-\r
- Timer mTimer = null;\r
-\r
- private TextView temperatureTv;\r
- private TextView temperatureOutTv;\r
- private TempHandler tempHandler;\r
-\r
- @Override\r
- protected void onCreate(Bundle savedInstanceState) {\r
- super.onCreate(savedInstanceState);\r
- setContentView(R.layout.temperature_layout);\r
- //初始化控件\r
- initView();\r
- //判断是否支持温度测试\r
- int temper = ICJniUtils.isTemperatureDevAvailable();\r
- Log.i("dxc", "Temperature available : " + temper);\r
- if (temper > 0) {\r
- tempHandler = new TempHandler(this);\r
- //打开温度测试\r
- ICJniUtils.enableTemperature();\r
- mTimer = new Timer();\r
- TimerTask HRTimerTask = new TimerTask() {\r
- @Override\r
- public void run() {\r
- //获取温度内容\r
- getTemperatureInfo();\r
- }\r
- };\r
- mTimer.schedule(HRTimerTask, 500, 1000L);\r
- } else {\r
- this.temperatureTv.setText(this.getResources().getString(R.string.no_temperature));\r
- Log.i("dxc", "No temperature!");\r
- }\r
- }\r
-\r
-\r
- private void getTemperatureInfo() {\r
- double temp = ICJniUtils.getTemperature();\r
- double tempOut = ICJniUtils.getTemperatureOrigin();\r
- Message message = tempHandler.obtainMessage();\r
- Bundle bundle = new Bundle();\r
- bundle.putDouble("temp", temp);\r
- bundle.putDouble("tempOut", tempOut);\r
- message.obj = bundle;\r
- tempHandler.sendMessage(message);\r
- }\r
-\r
- static class TempHandler extends Handler {\r
- WeakReference<TemperatureActivity> activityWeakReference = null;\r
-\r
- TempHandler(TemperatureActivity temperatureActivity) {\r
- activityWeakReference = new WeakReference<>(temperatureActivity);\r
- }\r
-\r
- @Override\r
- public void handleMessage(Message msg) {\r
- TemperatureActivity temperatureActivity = activityWeakReference.get();\r
- if (temperatureActivity == null) {\r
- return;\r
- }\r
- Bundle bundle = (Bundle) msg.obj;\r
- String tempStr = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),\r
- bundle.getDouble("temp"));\r
- String tempStrOut = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),\r
- bundle.getDouble("tempOut"));\r
- temperatureActivity.temperatureTv.setText(tempStr);\r
- temperatureActivity.temperatureOutTv.setText(tempStrOut);\r
- Logger.d("Temperature:" + tempStr + " TemperatureOut:" + tempStrOut);\r
- }\r
- }\r
-\r
- @Override\r
- protected void onDestroy() {\r
- super.onDestroy();\r
- // ICJniUtils.disablePPG();\r
-\r
- int temper = ICJniUtils.isTemperatureDevAvailable();\r
- Log.i("dxc", "Temperature available : " + temper);\r
-\r
- if (temper > 0) {\r
- if (mTimer != null) {\r
-\r
- mTimer.cancel();\r
- mTimer = null;\r
- }\r
- Log.i("dxc", "Temperature onPause");\r
- ICJniUtils.disableTemperature();\r
- } else {\r
- Log.i("dxc", "No temperature!");\r
- }\r
-\r
- }\r
-\r
- @Override\r
- protected void onPause() {\r
- super.onPause();\r
- Log.i("dxc", "Temperature onPause");\r
- }\r
-\r
- @Override\r
- protected void onResume() {\r
- super.onResume();\r
- }\r
-\r
- private void initView() {\r
- buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
- buttonView.btn_left.setOnClickListener(this);\r
- buttonView.btn_right.setOnClickListener(this);\r
- buttonView.setSuccessColor();\r
- buttonView.btn_left.setClickable(true);\r
- temperatureTv = (TextView) findViewById(R.id.tv_temperature_value);\r
- temperatureOutTv = (TextView) findViewById(R.id.tv_temperature_value_out);\r
-\r
- }\r
-\r
- @Override\r
- public void onClick(View view) {\r
- Intent intent = Config.getNextTestIntent(this, this.getClass());//new Intent(this, SimDetectActivity.class);\r
- intent.putExtra("running", true);\r
- Intent intent1 = new Intent(this, TestMainActivity.class);\r
- // TestResult testResult = (TestResult) getApplicationContext();\r
- switch (view.getId()) {\r
-\r
- case R.id.btn_two_left:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("temperature", "true").commit();\r
- finish();\r
- break;\r
- case R.id.btn_two_right:\r
- if (!running) {\r
- startActivity(intent1);\r
- } else {\r
- startActivity(intent);\r
- }\r
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("temperature", "false").commit();\r
- finish();\r
- break;\r
- }\r
- }\r
-}\r
+package mobile.miki;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.UserHandle;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import com.ic.jni.ICJniUtils;
+
+import java.lang.ref.WeakReference;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.util.Config;
+import mobile.miki.util.Logger;
+
+public class TemperatureActivity extends BaseActivity implements View.OnClickListener {
+
+ private ButtonViewTwo buttonView;
+ boolean running;
+
+ Timer mTimer = null;
+
+ private TextView temperatureTv;
+ private TextView temperatureOutTv;
+ private TempHandler tempHandler;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.temperature_layout);
+ //初始化控件
+ initView();
+ Intent intent = getIntent();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);
+ }
+ //判断是否支持温度测试
+ int temper = ICJniUtils.isTemperatureDevAvailable();
+ Log.i("dxc", "Temperature available : " + temper);
+ if (temper > 0) {
+ tempHandler = new TempHandler(this);
+ //打开温度测试
+ ICJniUtils.enableTemperature();
+ mTimer = new Timer();
+ TimerTask HRTimerTask = new TimerTask() {
+ @Override
+ public void run() {
+ //获取温度内容
+ getTemperatureInfo();
+ }
+ };
+ mTimer.schedule(HRTimerTask, 500, 1000L);
+ } else {
+ this.temperatureTv.setText(this.getResources().getString(R.string.no_temperature));
+ Log.i("dxc", "No temperature!");
+ }
+ }
+
+
+ private void getTemperatureInfo() {
+ double temp = ICJniUtils.getTemperature();
+ double tempOut = ICJniUtils.getTemperatureOrigin();
+ Message message = tempHandler.obtainMessage();
+ Bundle bundle = new Bundle();
+ bundle.putDouble("temp", temp);
+ bundle.putDouble("tempOut", tempOut);
+ message.obj = bundle;
+ tempHandler.sendMessage(message);
+ }
+
+ static class TempHandler extends Handler {
+ WeakReference<TemperatureActivity> activityWeakReference = null;
+
+ TempHandler(TemperatureActivity temperatureActivity) {
+ activityWeakReference = new WeakReference<>(temperatureActivity);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ TemperatureActivity temperatureActivity = activityWeakReference.get();
+ if (temperatureActivity == null) {
+ return;
+ }
+ Bundle bundle = (Bundle) msg.obj;
+ String tempStr = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),
+ bundle.getDouble("temp"));
+ String tempStrOut = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),
+ bundle.getDouble("tempOut"));
+ temperatureActivity.temperatureTv.setText(tempStr);
+ temperatureActivity.temperatureOutTv.setText(tempStrOut);
+ Logger.d("Temperature:" + tempStr + " TemperatureOut:" + tempStrOut);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ // ICJniUtils.disablePPG();
+
+ int temper = ICJniUtils.isTemperatureDevAvailable();
+ Log.i("dxc", "Temperature available : " + temper);
+
+ if (temper > 0) {
+ if (mTimer != null) {
+
+ mTimer.cancel();
+ mTimer = null;
+ }
+ Log.i("dxc", "Temperature onPause");
+ ICJniUtils.disableTemperature();
+ } else {
+ Log.i("dxc", "No temperature!");
+ }
+
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ Log.i("dxc", "Temperature onPause");
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ }
+
+ private void initView() {
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+ temperatureTv = (TextView) findViewById(R.id.tv_temperature_value);
+ temperatureOutTv = (TextView) findViewById(R.id.tv_temperature_value_out);
+
+ }
+
+ @Override
+ public void onClick(View view) {
+ Intent intent = Config.getNextTestIntent(this, this.getClass());//new Intent(this, SimDetectActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (view.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("temperature", "true").commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("temperature", "false").commit();
+ finish();
+ break;
+ }
+ }
+}
-#Mon Dec 21 18:03:48 CST 2020
-VERSION_CODE=57
+#Mon Dec 21 21:29:58 CST 2020
+VERSION_CODE=58