添加支持SOS功能
authorsnickersun <snickersun@qq.com>
Wed, 5 Feb 2020 12:25:06 +0000 (20:25 +0800)
committersnickersun <snickersun@qq.com>
Wed, 5 Feb 2020 12:25:06 +0000 (20:25 +0800)
app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java
app/src/main/java/com/enqualcomm/support/bean/Contact.java
app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java
app/src/main/java/com/enqualcomm/support/utils/DBHelper.java
app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java

index 99501fa..f9c80cb 100644 (file)
@@ -561,7 +561,7 @@ public class protocolAPIHelper {
     }\r
 \r
     //设置SOS号码\r
-    public void handleBP12(Connection connection,String cmd){\r
+    public void handleBP12(Connection connection,String cmd,Runtime runtime){\r
         //    IWBP12,353456789012345,080835,135XXXXXXXX,135XXXXXXXX,135XXXXXXXX#\r
         String[] cmdlist=cmd.split(CMDSPLIT);\r
         if (cmdlist.length>=3){\r
@@ -572,6 +572,13 @@ public class protocolAPIHelper {
             Logger.i(new StringBuffer().append("get Emegency Numbs "+phNum1+","+phNum2+","+phNum3).toString());\r
             connection.send(genStringMessage("AP12",AP12(index,phNum1,phNum2,phNum3)));\r
 \r
+            ArrayList<Contact> contactArray=new ArrayList<Contact>();\r
+            if (!phNum1.isEmpty())  contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos1",phNum1));\r
+            if (!phNum2.isEmpty())  contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos2",phNum2));\r
+            if (!phNum3.isEmpty())  contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos3",phNum3));\r
+\r
+            runtime.getDbHelper().saveContacts(contactArray,false,false,false,false,false,true);\r
+\r
         }else{\r
             Logger.i(" BP12 format error!");\r
         }\r
@@ -668,7 +675,7 @@ public class protocolAPIHelper {
 //            contactArray.add(new Contact(Contact.CATEGORY_CARE,"CARE","666"));\r
 //            contactArray.add(new Contact(Contact.CATEGORY_VOLTE,"VOLTE","666"));\r
 \r
-            runtime.getDbHelper().saveContacts(contactArray,true,false,true,false,false);\r
+            runtime.getDbHelper().saveContacts(contactArray,false,false,true,false,false,false);\r
 \r
         }else{\r
             Logger.i(" BP14 format error!");\r
index 78ff4d8..8bcffb1 100644 (file)
@@ -17,6 +17,8 @@ public class Contact implements Parcelable {
   public static final int CATEGORY_VIDEO = 5;\r
   \r
   public static final int CATEGORY_VOLTE = 6;\r
+\r
+  public static final int CATEGORY_SOS = 7;\r
   \r
   public static final Creator<Contact> CREATOR = new Creator<Contact>() {\r
       public Contact createFromParcel(Parcel param1Parcel) { return new Contact(param1Parcel); }\r
index d46fb2c..99fbded 100644 (file)
@@ -255,12 +255,16 @@ public static void triggerPPGtest(){
    if (mHandler !=null) mHandler.sendEmptyMessage(200);\r
 }\r
 \r
+\r
+\r
   public boolean onUserRequest(Message message, Connection connection, final Runtime runtime) {\r
 \r
 \r
     int i = 1;\r
     switch (message.what) {\r
       case MSG_WHAT_PPG:\r
+\r
+        //接收UI测试后的结果,直接发送到服务器。\r
         Bundle bundle3 = message.getData();\r
         String  ppg = bundle3.getString(key_ppg);\r
         String bph = bundle3.getString(key_bph);\r
index 9d1af19..772e638 100644 (file)
@@ -40,6 +40,7 @@ import static com.enqualcomm.support.bean.Contact.CATEGORY_ADMIN;
 import static com.enqualcomm.support.bean.Contact.CATEGORY_CALL;\r
 import static com.enqualcomm.support.bean.Contact.CATEGORY_CARE;\r
 import static com.enqualcomm.support.bean.Contact.CATEGORY_PARTNER;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_SOS;\r
 import static com.enqualcomm.support.bean.Contact.CATEGORY_VIDEO;\r
 \r
 public class DBHelper {\r
@@ -92,11 +93,6 @@ public class DBHelper {
     resolver.delete(ICContentProvider.CONTACT_URI, where, (String[])null);\r
   }\r
 \r
-  //确保数据库中有一个Group通讯录,供微聊使用\r
-  public void createMessageGroupID(ContentResolver resolver){\r
-\r
-  }\r
-\r
   private Uri insertDownLoadInfo(String var1, int var2, int var3, String var4) {\r
     ContentValues var5 = new ContentValues();\r
     var5.put("IMSI", var1);\r
@@ -106,7 +102,7 @@ public class DBHelper {
     return this.cr.insert(ICContentProvider.DOWNLOADINFO_URL, var5);\r
   }\r
 \r
-  private void saveContactsImpl(ArrayList<Contact> contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video) {\r
+  private void saveContactsImpl(ArrayList<Contact> contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video,boolean sos) {\r
     StringBuilder log = new StringBuilder();\r
     log.append("saveContactsImpl contactList = ");\r
     log.append(contactArray.toString());\r
@@ -137,6 +133,10 @@ public class DBHelper {
       where.append(",");\r
     }\r
 \r
+    if (sos) {\r
+      where.append(CATEGORY_SOS);\r
+      where.append(",");\r
+    }\r
     int len = where.length();\r
     if (len > 13) {\r
       where.setCharAt(len - 1, ')');\r
@@ -743,18 +743,18 @@ public class DBHelper {
     this.context.sendBroadcast(new Intent("com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE"));\r
   }\r
 \r
-  public void saveContacts(final ArrayList<Contact> contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video) {\r
+  public void saveContacts(final ArrayList<Contact> contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video,boolean sos) {\r
     synchronized(this){}\r
 \r
     try {\r
       long currenttime = SystemClock.elapsedRealtime();\r
       if (currenttime - lastUpdateTime > 1000L) {\r
-        this.saveContactsImpl(contactArray, admin, care,call, partner, video);\r
+        this.saveContactsImpl(contactArray, admin, care,call, partner, video,sos);\r
         lastUpdateTime = currenttime;\r
       } else {\r
         Observable.timer(1000L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
           public void call(Long var1x) {\r
-            DBHelper.this.saveContacts(contactArray, admin, care,call,  partner, video);\r
+            DBHelper.this.saveContacts(contactArray, admin, care,call,  partner, video,sos);\r
           }\r
         });\r
       }\r
index a7ff909..35b963e 100644 (file)
@@ -102,7 +102,7 @@ public class NettyConnection implements Connection {
 \r
                             case BP12:\r
                                 //收到设置SOS号码\r
-                                API.handleBP12(NettyConnection.this,cmd);\r
+                                API.handleBP12(NettyConnection.this,cmd,runtime);\r
                                 Logger.i("收到服务器设置SOS号码命令BP12");\r
                                 break;\r
                             case BP14:\r