diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2021-02-15 10:22:17 -0800 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2021-02-15 10:22:17 -0800 |
commit | 4a05b4c4810c430a286f43c2739d04004f90e053 (patch) | |
tree | 406b9037aa086a8029fbf078644d4258490c70fc /src/main | |
parent | 89ef9d436cb1ba56ea1f9b63e20afdc665186f9b (diff) | |
download | traccar-server-4a05b4c4810c430a286f43c2739d04004f90e053.tar.gz traccar-server-4a05b4c4810c430a286f43c2739d04004f90e053.tar.bz2 traccar-server-4a05b4c4810c430a286f43c2739d04004f90e053.zip |
Use last known location
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java b/src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java index 34125bffa..aded35823 100644 --- a/src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java @@ -102,7 +102,6 @@ public class FreematicsProtocolDecoder extends BaseProtocolDecoder { } position = new Position(getProtocolName()); position.setDeviceId(deviceSession.getDeviceId()); - position.setValid(true); dateBuilder = new DateBuilder(new Date()); } else if (position != null) { switch (key) { @@ -122,9 +121,11 @@ public class FreematicsProtocolDecoder extends BaseProtocolDecoder { Integer.parseInt(value.substring(6)) * 10); break; case 0xA: + position.setValid(true); position.setLatitude(Double.parseDouble(value)); break; case 0xB: + position.setValid(true); position.setLongitude(Double.parseDouble(value)); break; case 0xC: @@ -177,6 +178,9 @@ public class FreematicsProtocolDecoder extends BaseProtocolDecoder { } if (position != null) { + if (!position.getValid()) { + getLastLocation(position, null); + } position.setTime(dateBuilder.getDate()); positions.add(position); } |