From: snickersun Date: Fri, 17 Jan 2020 18:30:51 +0000 (+0800) Subject: 增加 BP33和BP16的第一次定位强制執行邏輯 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=037cffbbe4f9901bb14763ebbc2e005252b9735a;p=icsupport.git 增加 BP33和BP16的第一次定位强制執行邏輯 --- diff --git a/app/src/main/java/com/ic/protocol/LocationClient.java b/app/src/main/java/com/ic/protocol/LocationClient.java index 5f527e82..482601e0 100644 --- a/app/src/main/java/com/ic/protocol/LocationClient.java +++ b/app/src/main/java/com/ic/protocol/LocationClient.java @@ -478,18 +478,21 @@ public void updateCellInfo() { public void startLocationProcess(int mod){ - Logger.i("isLocating "+isLocating+", lastStep"+runtime.getLastStepCount()+", currentStep"+ runtime.getTotalStepCount()); + Logger.i("forceLocation="+forceLocation+", isLocating "+isLocating+", lastStep"+runtime.getLastStepCount()+", currentStep"+ runtime.getTotalStepCount()); if (isLocating ) { Logger.i("locating ,skip location!"); return; } - if (runtime.getLastStepCount() == runtime.getTotalStepCount()){ + + if ( forceLocation == 0 || runtime.getLastStepCount() == runtime.getTotalStepCount()){ Logger.i("No Move ,skip location!"); return ; } + + forceLocation=0; isLocating=true; runtime.setLastStepCount(runtime.getTotalStepCount()); @@ -508,6 +511,7 @@ public void updateCellInfo() { } private static int WorkingMod=1; + private static int forceLocation=0; public void onReceive(StringMessage paramStringMessage) { Logger.i("LocationClient onReceive " +paramStringMessage.cmd()+" linkOK "+linkOK ); if ("Sport:OK".equals(paramStringMessage.cmd())) @@ -524,9 +528,10 @@ public void updateCellInfo() { //响应定位指令 if ("StartLocate".equals(paramStringMessage.cmd()) ){ // triggerSendThread(); + forceLocation=1; this.startLocationProcess(WorkingMod); } - if ("ResartHeartAlarm".equals(paramStringMessage.cmd())) { + if ("setWorkMod".equals(paramStringMessage.cmd())) { // triggerSendThread(); int mod = 0; try @@ -540,13 +545,14 @@ public void updateCellInfo() { SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, mod); runtime.getLocationInstance().setWorkingMod(mod); // runtime.getLocationInstance().setLocation_cycle(3); - Logger.i("ResartHeartAlarm 1 mod "+mod); + Logger.i("Set WorkMODE "+mod +" and reset Location AlarmCycle"); protocolMainServer.getInstance().setLocationAlarm(mod); - Logger.i("ResartHeartAlarm 2"); - runtime.getContextProxy().sendBroadcast(HEART_ALARM,runtime); +// Logger.i("ResartLACATION_MODE 2"); + runtime.getContextProxy().sendBroadcast(LACATION_MODE,runtime); + forceLocation=1; this.startLocationProcess(mod); WorkingMod=mod; - Logger.i("ResartHeartAlarm 3 WorkingMod " +WorkingMod); + } diff --git a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java index e0ccc46b..8adfe43e 100644 --- a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java +++ b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java @@ -82,7 +82,7 @@ public class NettyConnection implements Connection { break; case BP33: //设置工作模式 - DeliverCMDMessageToSystem("ResartHeartAlarm",cmd);//通知下面线程状态变化 + DeliverCMDMessageToSystem("setWorkMod",cmd);//通知下面线程状态变化 DeliverCMDMessageToSystem("AP33",cmd);//通知下面线程状态变化 API.handleBP33(NettyConnection.this,runtime,cmd);