From 037cffbbe4f9901bb14763ebbc2e005252b9735a Mon Sep 17 00:00:00 2001 From: snickersun Date: Sat, 18 Jan 2020 02:30:51 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=20BP33=E5=92=8CBP16=E7=9A=84?= =?utf8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=AE=9A=E4=BD=8D=E5=BC=BA=E5=88=B6?= =?utf8?q?=E5=9F=B7=E8=A1=8C=E9=82=8F=E8=BC=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/com/ic/protocol/LocationClient.java | 20 ++++++++++++------- .../ic/protocol/utils/NettyConnection.java | 2 +- 2 files changed, 14 insertions(+), 8 deletions(-) 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); -- 2.17.1