<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/classes"/>\r
<exclude-output/>\r
<content url="file://$MODULE_DIR$">\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true"/>\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" generated="true"/>\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true"/>\r
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":675,"versionName":"2010261901","enabled":true,"outputFile":"ICSer_V675_2010261901_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V675_2010261901_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":678,"versionName":"2010262143","enabled":true,"outputFile":"ICSer_V678_2010262143_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V678_2010262143_release.apk","properties":{}}]
\ No newline at end of file
setLocationAlarm(runtime.getLocationInstance().getWorkingMod());//同时重置alarm并触发定位\r
\r
}else if(ACTION_CHECK_ANTIOFF_EVENT.equals(paramIntent.getAction())){\r
- if (antiservice.check_ant_event()==1){\r
- setAntiCheckAlarm();\r
- }\r
+ antiservice.check_ant_event();\r
}\r
\r
this.invokeHandlerServiceChain.processUserRequest(paramIntent, this.connection, this.runtime);\r
}\r
if (Config.LOG_TOFILE)ICLogger.logToFile("alarmCycle",sb.toString());\r
}\r
- public void setAntiCheckAlarm(){\r
- AlarmHelper.setRealTimeAlarmInMicorSeconds(runtime.getContextProxy().context,500,ACTION_CHECK_ANTIOFF_EVENT);\r
- }\r
-\r
\r
public void setEmegencyLocationSTOPAlarm(int delayTimeInMinutes){\r
StringBuilder sb=new StringBuilder();\r
import com.enqualcomm.support.bean.Runtime;\r
import com.enqualcomm.support.bean.StringMessage;\r
import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
+import com.enqualcomm.support.utils.AlarmHelper;\r
import com.enqualcomm.support.utils.Connection;\r
import com.enqualcomm.support.utils.ICLogger;\r
\r
import com.ic.protocols.protocolAPIHelper;\r
\r
import static com.enqualcomm.support.Constants.ACTION_ANTI_OFF;\r
+import static com.enqualcomm.support.Constants.ACTION_CHECK_ANTIOFF_EVENT;\r
import static com.enqualcomm.support.Constants.KEY_ANTI_EVENT;\r
import static com.enqualcomm.support.Constants.KEY_ANTI_TXT;\r
import static java.lang.Thread.interrupted;\r
ICLogger.i("anti_event_receivedTime in "+ (currenttime - anti_event_receivedTime)\r
+"ms ago ,anti_event_count_when_start_timer "+ant_status_event_reported\r
);\r
- if ((currenttime- anti_event_receivedTime) >= 1000){\r
+ if ((currenttime- anti_event_receivedTime) >= 2000){\r
send_antiof_event();\r
\r
ant_status_event_reported=0;\r
return 0;\r
}else{\r
+ long restTimeNeedDelay=(2000 + anti_event_receivedTime-currenttime);\r
+ ICLogger.i("Still need delay "+restTimeNeedDelay+"ms to check anti_event again!");\r
+ setAntiCheckAlarm((int)restTimeNeedDelay);\r
return 1;\r
}\r
\r
}\r
+\r
+ public void setAntiCheckAlarm(int ms){\r
+ AlarmHelper.setRealTimeAlarmInMicorSeconds(mRuntime.getContextProxy().context,ms,ACTION_CHECK_ANTIOFF_EVENT);\r
+ }\r
private void reset_timer(){\r
\r
if (1==ant_status_event_reported) //出现 ant_status_event_reported=0表示 有消息到来,需要开始,\r
{\r
// antioff_timer.schedule(antioff_timeout_handler,1000); //两秒后发送消息\r
- CoreService.getInstance().setAntiCheckAlarm();\r
+ setAntiCheckAlarm(2000);\r
}\r
}\r
/**\r
public void run() {\r
Util.shutdown();\r
}\r
- },1000);\r
+ },2000);\r
return true;\r
} else if ("FactoryResetCheckSim".equals(paramStringMessage.cmd())) {\r
\r
public void run() {\r
Util.doMasterClear(paramRuntime.getContextProxy().context);\r
}\r
- },1000);\r
+ },2000);\r
return true;\r
} else if ("poweroff".equals(paramStringMessage.cmd())) {\r
paramRuntime.setShutdown(true);\r
public void run() {\r
Util.shutdown();\r
}\r
- },500);\r
+ },2000);\r
return true;\r
} else if ("FactoryReset".equals(paramStringMessage.cmd())) {\r
mSendMSGHandler.postDelayed(new Runnable() {\r
public void run() {\r
Util.doMasterClear(paramRuntime.getContextProxy().context);\r
}\r
- },500);\r
+ },2000);\r
return true;\r
} else if ("Reboot".equals(paramStringMessage.cmd())) {\r
mSendMSGHandler.postDelayed(new Runnable() {\r
public void run() {\r
Util.reboot(paramRuntime.getContextProxy().context);\r
}\r
- },500);\r
+ },2000);\r
return true;\r
} else if ("heartbeat".equals(paramStringMessage.cmd())) {\r
//每次心跳,查询一下 是否有语音消息需要接收。\r
BP99,\r
APTQ,//天气\r
BPTQ,\r
+ APAT,//剪断消息开关\r
+ BPAT,\r
UNKNOWN_CMD,\r
}\r
\r
cmdMap.put(CMD_TYPE.BP99, "BP99");\r
cmdMap.put(CMD_TYPE.APTQ, "APTQ");\r
cmdMap.put(CMD_TYPE.BPTQ, "BPTQ");\r
+ cmdMap.put(CMD_TYPE.APAT, "APAT");\r
+ cmdMap.put(CMD_TYPE.BPAT, "BPAT");\r
\r
}\r
\r
}\r
\r
\r
+ public static StringMessage APAT(String id,String cmd)\r
+ {\r
+ return genStringMessage("APAT",new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APAT))\r
+ .append(CMDSPLIT).append(id)\r
+ .append(CMDSPLIT).append(cmd)\r
+ .append(CMDEND).toString());\r
+ }\r
\r
+ /***\r
+ * 响应剪断开关设定消息\r
+ * @param connection\r
+ * @param runtime\r
+ * @param cmd\r
+ */\r
+ public void handleBPAT( Connection connection,Runtime runtime,String cmd) {\r
+/***\r
+ * IWBPAT,353456789012345,080835,1#\r
+ * 说明:是否提示表带是否连接的开关,即剪断报警开关\r
+ * IW:标识符\r
+ * BPAT : 命令字符\r
+ * 353456789012345:IMEI号,设备唯一ID\r
+ * 080835:指令流水号\r
+ * 1: 表示剪断报警开关,1为开,0 为关\r
+ * 设备响应: IWAPAT,080835, 1#\r
+ * 080835:指令流水号\r
+ * 1: 剪断开关状态(实际上与下行的命令一致)\r
+ */\r
+\r
+ log("BPAT "+cmd);\r
+ String[] cmdlist=cmd.split(CMDSPLIT);\r
+ if (cmdlist.length==4){\r
+\r
+ String imei=cmdlist[1];\r
+ String id=cmdlist[2];\r
+ String cmdid=cmdlist[3];\r
+ connection.send(APAT(id,cmdid));\r
+ if(cmdid.trim().equals("1")){\r
+ WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context);\r
+// runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_lock_success), 2);\r
+ Util.ShowToast(runtime,runtime.getContextProxy().context.getResources().getString(R.string.alarm_lock_success));\r
+ Config.setNeedAntiOff(runtime.getContextProxy().context,true);\r
+ Config.setNeedCutOff(runtime.getContextProxy().context,true);\r
+ runtime.setNeedAntioff(true);\r
+ runtime.setNeddReportCutoff(true);\r
+ } else {\r
+ WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context);\r
+ runtime.getContextProxy().sendMsgBroadcast(runtime.getContextProxy().context.getResources().getString(R.string.alarm_unbind_success), 2);\r
+ Config.setNeedAntiOff(runtime.getContextProxy().context,false);\r
+ Config.setNeedCutOff(runtime.getContextProxy().context,false);\r
+ runtime.setNeedAntioff(false);\r
+ runtime.setNeddReportCutoff(false);\r
+ }\r
+ }else{\r
+ ICLogger.i(" BPAT Format error!");\r
+ }\r
+ }\r
public boolean handleCmd(CMD_TYPE type, String cmd) {\r
\r
//普通非二进制命令用此函数处理\r
mConnection.DeliverCMDMessageToSystem("AP86",cmd);//通知下面线程状态变化\r
\r
break;\r
- case BP68:\r
+ case BP68: //绑定解绑\r
handleBP68(cmd,mConnection,mRuntime);\r
break;\r
case BP88:\r
case BPTQ:\r
handleBPTQ(mConnection,mRuntime,cmd);\r
break;\r
+ case BPAT:\r
+ handleBPAT(mConnection,mRuntime,cmd);\r
+ break;\r
+\r
+\r
}\r
\r
return ret;\r
-#Mon Oct 26 19:01:39 CST 2020\r
-VERSION_CODE=675\r
+#Mon Oct 26 21:43:41 CST 2020\r
+VERSION_CODE=678\r