From: snickersun Date: Wed, 12 Aug 2020 12:46:59 +0000 (+0800) Subject: release V497 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=c2d1b16452931a95ef0e970c5dc40633435cec6e;p=protocol_srv.git release V497 1、给PushTxt增加 eventtype 2, 带声音提示的文字 2、添加5分钟一次提醒(每次心跳检测是否需要提醒) 3、识别YQ和 YQ_EN --- diff --git a/app/release/ICSer_V491_2008111430_release.apk b/app/release/ICSer_V491_2008111430_release.apk deleted file mode 100644 index a7bdfe97..00000000 Binary files a/app/release/ICSer_V491_2008111430_release.apk and /dev/null differ diff --git a/app/release/output.json b/app/release/output.json index 373dfe72..c4509e6a 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":491,"versionName":"2008111430","enabled":true,"outputFile":"ICSer_V491_2008111430_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V491_2008111430_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":497,"versionName":"2008122043","enabled":true,"outputFile":"ICSer_V497_2008122043_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V497_2008122043_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index 4da4f613..4b95bd7f 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -390,7 +390,7 @@ public class Config { needBroadcastAntiAlarm=true; noPPGSensor=false; noTempSensor=false; - }else if ((custom_branch_name.equals("YQ")) ) { //A9-YQ + }else if (custom_branch_name.equals("YQ") ||custom_branch_name.equals("YQ_EN") ) { //A9-YQ noPushTxtNotifyDialog=true; noSMSNotifyDialog=true; noVoiceNotifyDialog=true; diff --git a/app/src/main/java/com/enqualcomm/support/Constants.java b/app/src/main/java/com/enqualcomm/support/Constants.java index d13138d2..0c9bd3ae 100644 --- a/app/src/main/java/com/enqualcomm/support/Constants.java +++ b/app/src/main/java/com/enqualcomm/support/Constants.java @@ -310,13 +310,11 @@ public interface Constants { public static String ACTION_ANTI_OFF = "com.ic.ACTION_STRIP"; public static String KEY_ANTI_EVENT="eventID"; //integer eventID =1 脱落, eventID =0 佩戴 - + public static String KEY_ANTI_TXT="eventTxt"; //String AnitMessage public static String ACTION_BATTERYLOW = "com.ic.ACTION_BATTERYLOW"; public static String KEY_BATTERY_EVENT="eventID"; //integer eventID =1 battery low, eventID =0 解除 - - public static String PersistFotaServer2Url="persist.sys.ota.host2"; /** diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 89cf000b..87d07d32 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -717,6 +717,25 @@ public class CoreService extends Service { public static void DevliverStringMessage(String cmd,String str){ CoreService.getInstance().connection.DeliverCMDMessageToSystem(cmd,str); } + + public void checkAlarmMessage(){ + + if (runtime.Fence_Warning_flag>0){ + runtime.Fence_Warning_flag++; + WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_out_wall),2); + } + if(runtime.Anti_off_flag>0){ + runtime.Anti_off_flag++; + WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); + if (runtime.getAntioffStatus()) { + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_Illegal_unlock), 2); + }else{ + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_wristband_off), 2); + } + } + + } public void checkKeepSitting(){ String dateyyyyMMDDhhmmss=TimeUtil.getSystemTime3(); String sleepdate=TimeUtil.getCurrentSleepRecordDate(dateyyyyMMDDhhmmss); @@ -935,6 +954,7 @@ public class CoreService extends Service { locationClient.updateStepCount(); updateSleepDate(); //检查睡眠 checkKeepSitting();//检查久坐 + checkAlarmMessage();//检测是否有报警消息需要显示 if (this.mKeepAlive != null) { if (connection.isServerConnected() && runtime.isServerProtocolConnected()) { this.mKeepAlive.onHeartAlarm(this.connection, this.runtime); diff --git a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java index fb9da504..feb4951f 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -148,6 +148,12 @@ public class Runtime { return alarmType; } + //0 代表没有出围栏,如果出围栏则置1,每次报警再加1 + public int Fence_Warning_flag=0; + + //0 代表佩戴,如果脱腕则置1,每次报警再加1 + public int Anti_off_flag=0; + public enum AlarmType{ ALARM_SOS, ALARM_LOWBATTERY, diff --git a/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java b/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java index af2d4920..abd83e24 100644 --- a/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java +++ b/app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java @@ -13,6 +13,7 @@ import android.os.PowerManager; import com.enqualcomm.support.Config; import com.enqualcomm.support.CoreService; +import com.enqualcomm.support.R; import com.enqualcomm.support.bean.Runtime; import com.enqualcomm.support.service.base.AbstractInvokeHandlerService; import com.enqualcomm.support.utils.Connection; @@ -23,6 +24,8 @@ import com.ic.protocols.protocolAPIHelper; import static com.enqualcomm.support.Constants.ACTION_ANTI_OFF; import static com.enqualcomm.support.Constants.KEY_ANTI_EVENT; +import static com.enqualcomm.support.Constants.KEY_ANTI_TXT; +import static java.lang.Thread.interrupted; import static java.lang.Thread.sleep; @@ -87,9 +90,11 @@ public class AntiMonitorService extends AbstractInvokeHandlerService { // play_notify(); send_anti_event_broadcast(0); } + mRuntime.Anti_off_flag=0; mRuntime.setAlarmType(Runtime.AlarmType.ALARM_WEARED); String msg=protocolAPIHelper.getWarningMSG(mRuntime); Deliver.sendLocationMSG(msg); //消息很重要,所以利用带buffer的对列来发送! + // try { // sleep(1000); // } catch (InterruptedException e) { @@ -109,6 +114,7 @@ public class AntiMonitorService extends AbstractInvokeHandlerService { }//delay一会儿再发消息,以屏没有来得急亮起,免界面不响应。 send_anti_event_broadcast(1); } + mRuntime.Anti_off_flag=1; mRuntime.setAlarmType(Runtime.AlarmType.ALARM_ANTIOFF); String msg=protocolAPIHelper.getWarningMSG(mRuntime); Deliver.sendLocationMSG(msg); //消息很重要,所以利用带buffer的对列来发送! @@ -176,7 +182,19 @@ public class AntiMonitorService extends AbstractInvokeHandlerService { Intent intent=new Intent(); intent.setAction(ACTION_ANTI_OFF); intent.putExtra(KEY_ANTI_EVENT,antioff); - mContext.sendBroadcast(intent); + if (antioff==0) { + intent.putExtra(KEY_ANTI_TXT, ""); + mContext.sendBroadcast(intent); + mRuntime.getContextProxy().sendMsgBroadcast(mContext.getResources().getString(R.string.alarm_wristband_on),0); //佩戴 + }else{ + if (mRuntime.getAntioffStatus()==true){ + intent.putExtra(KEY_ANTI_TXT, mContext.getResources().getString(R.string.alarm_Illegal_unlock)); + }else { + intent.putExtra(KEY_ANTI_TXT, mContext.getResources().getString(R.string.alarm_wristband_off)); + } + mContext.sendBroadcast(intent); + } + } diff --git a/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java b/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java index f573be18..9cb3d5a8 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java @@ -336,15 +336,15 @@ public class ContextProxy { } public static void sendMsgBroadcast(Context _context,String msg, int msgType) { - if (msgType==0){ + if (msgType==0) { Observable.timer(50L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { - if(Config.noPushTxtNotifyDialog==false) { + if (Config.noPushTxtNotifyDialog == false) { Intent intent = new Intent(); intent.setAction(DIALOG_ACTION); intent.putExtra("pushtxt", msg); _context.sendBroadcast(intent); - }else{ + } else { WakeLockUtil.ScreenOnWakeLockTemperary(_context); play_waning_notify(_context); VibrateUtil.getInstance(_context).VibrateOnOnce(true); @@ -355,12 +355,38 @@ public class ContextProxy { } } Intent intent = new Intent("action.ic.srvPushTxt"); - intent.putExtra("msgType", 0); //0 代表 server下发消息,1代表 SMS消息 + intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息 intent.putExtra("txtMsg", msg); intent.addFlags(FLAG_ACTIVITY_NEW_TASK); _context.sendBroadcast(intent); } }); + }else if (msgType==2){ + Observable.timer(50L, TimeUnit.MILLISECONDS).subscribe(new Action1() { + public void call(Long param1Long) { + if (Config.noPushTxtNotifyDialog == false) { + Intent intent = new Intent(); + intent.setAction(DIALOG_ACTION); + intent.putExtra("pushtxt", msg); + _context.sendBroadcast(intent); + } else { + WakeLockUtil.ScreenOnWakeLockTemperary(_context); + play_waning_notify(_context); + VibrateUtil.getInstance(_context).VibrateOnOnce(true); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + Intent intent = new Intent("action.ic.srvPushTxt"); + intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息,2代表有提示音的消息 + intent.putExtra("txtMsg", msg); + intent.addFlags(FLAG_ACTIVITY_NEW_TASK); + _context.sendBroadcast(intent); + } + }); + }else{ Observable.timer(50L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { @@ -381,7 +407,7 @@ public class ContextProxy { } Intent intent = new Intent("action.ic.srvPushTxt"); - intent.putExtra("msgType", 1); //0 代表 server下发消息,1代表 SMS消息 + intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息,2代表有提示音的消息 intent.putExtra("txtMsg", msg); intent.addFlags(FLAG_ACTIVITY_NEW_TASK); _context.sendBroadcast(intent); diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index 7e842106..0f208574 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -8,6 +8,7 @@ import android.os.Environment; import com.enqualcomm.support.Config; import com.enqualcomm.support.CoreService; +import com.enqualcomm.support.R; import com.enqualcomm.support.bean.Alarm; import com.enqualcomm.support.bean.Contact; import com.enqualcomm.support.bean.Content; @@ -24,6 +25,7 @@ import com.enqualcomm.support.utils.NettyConnection; import com.enqualcomm.support.utils.TemperatureUtil; import com.enqualcomm.support.utils.TimeUtil; import com.enqualcomm.support.utils.Util; +import com.enqualcomm.support.utils.WakeLockUtil; import java.io.File; import java.util.ArrayList; @@ -1524,6 +1526,23 @@ public class protocol_ic { String type=list[3]; connection.send(genStringMessage("AP86",AP68(index))); ICLogger.i("收到服务器消息:"+(type.equals("1")?"绑定成功 ":"未激活或者解绑")); + if (Config.custom_branch_name.equals("YQ")||Config.custom_branch_name.equals("YQ_EN")) {//AK-YQ + if (type.equals("1")) { + WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_lock_success), 2); + runtime.setAntioffStatus(true); + } else { + WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_unbind_success), 2); + runtime.setAntioffStatus(false); + //1 分钟后重置 + Observable.timer(60L, TimeUnit.SECONDS).subscribe(new Action1() { + public void call(Long param1Long) { + Util.doMasterClear(runtime.getContextProxy().context); + } + }); + } + } }else{ ICLogger.i("BP86 format error!"); @@ -1918,8 +1937,13 @@ public class protocol_ic { connection.send(genStringMessage("APDE",APDE(index))); if ( Integer.parseInt(msg) == 1) { ICLogger.i("Handle BPDE index " + index + ", 进入禁止区域 "); + runtime.Fence_Warning_flag=1; + WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); + runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_out_wall),2); }else { ICLogger.i("Handle BPDE index " + index + ", 离开禁止区域 "); + runtime.Fence_Warning_flag=0; +// runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_out_wall),0); } }else{ ICLogger.i("BPDE format error!"); diff --git a/app/version_code.properties b/app/version_code.properties index 26c83174..f46ea862 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Aug 11 14:30:49 CST 2020 -VERSION_CODE=491 +#Wed Aug 12 20:43:40 CST 2020 +VERSION_CODE=497 diff --git a/local.properties b/local.properties index 06d18e6a..bed8bc14 100644 --- a/local.properties +++ b/local.properties @@ -4,5 +4,5 @@ # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. -#Wed Aug 05 23:43:00 CST 2020 -sdk.dir=D\:\\Android\\Sdk +#Wed Aug 12 10:23:43 CST 2020 +sdk.dir=C\:\\Users\\incar\\AppData\\Local\\Android\\Sdk