From: snickersun Date: Wed, 5 Feb 2020 12:25:06 +0000 (+0800) Subject: 添加支持SOS功能 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=4444b93473e63b6e049db25fc1f30cc4e2cd17be;p=protocol_srv.git 添加支持SOS功能 --- diff --git a/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java b/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java index 99501fa7..f9c80cbb 100644 --- a/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java +++ b/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java @@ -561,7 +561,7 @@ public class protocolAPIHelper { } //设置SOS号码 - public void handleBP12(Connection connection,String cmd){ + public void handleBP12(Connection connection,String cmd,Runtime runtime){ // IWBP12,353456789012345,080835,135XXXXXXXX,135XXXXXXXX,135XXXXXXXX# String[] cmdlist=cmd.split(CMDSPLIT); if (cmdlist.length>=3){ @@ -572,6 +572,13 @@ public class protocolAPIHelper { Logger.i(new StringBuffer().append("get Emegency Numbs "+phNum1+","+phNum2+","+phNum3).toString()); connection.send(genStringMessage("AP12",AP12(index,phNum1,phNum2,phNum3))); + ArrayList contactArray=new ArrayList(); + if (!phNum1.isEmpty()) contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos1",phNum1)); + if (!phNum2.isEmpty()) contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos2",phNum2)); + if (!phNum3.isEmpty()) contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos3",phNum3)); + + runtime.getDbHelper().saveContacts(contactArray,false,false,false,false,false,true); + }else{ Logger.i(" BP12 format error!"); } @@ -668,7 +675,7 @@ public class protocolAPIHelper { // contactArray.add(new Contact(Contact.CATEGORY_CARE,"CARE","666")); // contactArray.add(new Contact(Contact.CATEGORY_VOLTE,"VOLTE","666")); - runtime.getDbHelper().saveContacts(contactArray,true,false,true,false,false); + runtime.getDbHelper().saveContacts(contactArray,false,false,true,false,false,false); }else{ Logger.i(" BP14 format error!"); diff --git a/app/src/main/java/com/enqualcomm/support/bean/Contact.java b/app/src/main/java/com/enqualcomm/support/bean/Contact.java index 78ff4d8c..8bcffb17 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Contact.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Contact.java @@ -17,6 +17,8 @@ public class Contact implements Parcelable { public static final int CATEGORY_VIDEO = 5; public static final int CATEGORY_VOLTE = 6; + + public static final int CATEGORY_SOS = 7; public static final Creator CREATOR = new Creator() { public Contact createFromParcel(Parcel param1Parcel) { return new Contact(param1Parcel); } diff --git a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java index d46fb2cf..99fbded1 100644 --- a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java @@ -255,12 +255,16 @@ public static void triggerPPGtest(){ if (mHandler !=null) mHandler.sendEmptyMessage(200); } + + public boolean onUserRequest(Message message, Connection connection, final Runtime runtime) { int i = 1; switch (message.what) { case MSG_WHAT_PPG: + + //接收UI测试后的结果,直接发送到服务器。 Bundle bundle3 = message.getData(); String ppg = bundle3.getString(key_ppg); String bph = bundle3.getString(key_bph); diff --git a/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java b/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java index 9d1af19e..772e6386 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java +++ b/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java @@ -40,6 +40,7 @@ import static com.enqualcomm.support.bean.Contact.CATEGORY_ADMIN; import static com.enqualcomm.support.bean.Contact.CATEGORY_CALL; import static com.enqualcomm.support.bean.Contact.CATEGORY_CARE; import static com.enqualcomm.support.bean.Contact.CATEGORY_PARTNER; +import static com.enqualcomm.support.bean.Contact.CATEGORY_SOS; import static com.enqualcomm.support.bean.Contact.CATEGORY_VIDEO; public class DBHelper { @@ -92,11 +93,6 @@ public class DBHelper { resolver.delete(ICContentProvider.CONTACT_URI, where, (String[])null); } - //确保数据库中有一个Group通讯录,供微聊使用 - public void createMessageGroupID(ContentResolver resolver){ - - } - private Uri insertDownLoadInfo(String var1, int var2, int var3, String var4) { ContentValues var5 = new ContentValues(); var5.put("IMSI", var1); @@ -106,7 +102,7 @@ public class DBHelper { return this.cr.insert(ICContentProvider.DOWNLOADINFO_URL, var5); } - private void saveContactsImpl(ArrayList contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video) { + private void saveContactsImpl(ArrayList contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video,boolean sos) { StringBuilder log = new StringBuilder(); log.append("saveContactsImpl contactList = "); log.append(contactArray.toString()); @@ -137,6 +133,10 @@ public class DBHelper { where.append(","); } + if (sos) { + where.append(CATEGORY_SOS); + where.append(","); + } int len = where.length(); if (len > 13) { where.setCharAt(len - 1, ')'); @@ -743,18 +743,18 @@ public class DBHelper { this.context.sendBroadcast(new Intent("com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE")); } - public void saveContacts(final ArrayList contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video) { + public void saveContacts(final ArrayList contactArray, boolean admin, boolean care, boolean call, boolean partner, boolean video,boolean sos) { synchronized(this){} try { long currenttime = SystemClock.elapsedRealtime(); if (currenttime - lastUpdateTime > 1000L) { - this.saveContactsImpl(contactArray, admin, care,call, partner, video); + this.saveContactsImpl(contactArray, admin, care,call, partner, video,sos); lastUpdateTime = currenttime; } else { Observable.timer(1000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long var1x) { - DBHelper.this.saveContacts(contactArray, admin, care,call, partner, video); + DBHelper.this.saveContacts(contactArray, admin, care,call, partner, video,sos); } }); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java b/app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java index a7ff9099..35b963e2 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java +++ b/app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java @@ -102,7 +102,7 @@ public class NettyConnection implements Connection { case BP12: //收到设置SOS号码 - API.handleBP12(NettyConnection.this,cmd); + API.handleBP12(NettyConnection.this,cmd,runtime); Logger.i("收到服务器设置SOS号码命令BP12"); break; case BP14: