From 13c1b5a0f68cf3f9a6a8fee43a4e5c1406dac32a Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 20 Dec 2016 08:42:20 +1300 Subject: Refactor protocols for network location --- .../traccar/protocol/MegastekProtocolDecoder.java | 23 +++++++++------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'src/org/traccar/protocol/MegastekProtocolDecoder.java') diff --git a/src/org/traccar/protocol/MegastekProtocolDecoder.java b/src/org/traccar/protocol/MegastekProtocolDecoder.java index 005d38c41..60660adf6 100644 --- a/src/org/traccar/protocol/MegastekProtocolDecoder.java +++ b/src/org/traccar/protocol/MegastekProtocolDecoder.java @@ -21,6 +21,8 @@ import org.traccar.DeviceSession; import org.traccar.helper.DateBuilder; import org.traccar.helper.Parser; import org.traccar.helper.PatternBuilder; +import org.traccar.model.CellTower; +import org.traccar.model.Network; import org.traccar.model.Position; import java.net.SocketAddress; @@ -176,10 +178,8 @@ public class MegastekProtocolDecoder extends BaseProtocolDecoder { } if (parser.hasNext(4)) { - position.set(Position.KEY_MCC, parser.nextInt()); - position.set(Position.KEY_MNC, parser.nextInt()); - position.set(Position.KEY_LAC, parser.nextInt(16)); - position.set(Position.KEY_CID, parser.nextInt(16)); + position.setNetwork(new Network(CellTower.from( + parser.nextInt(), parser.nextInt(), parser.nextInt(16), parser.nextInt(16)))); } } else { @@ -203,11 +203,8 @@ public class MegastekProtocolDecoder extends BaseProtocolDecoder { } position.setDeviceId(deviceSession.getDeviceId()); - position.set(Position.KEY_MCC, parser.nextInt()); - position.set(Position.KEY_MNC, parser.nextInt()); - position.set(Position.KEY_LAC, parser.nextInt(16)); - position.set(Position.KEY_CID, parser.nextInt(16)); - position.set(Position.KEY_GSM, parser.next()); + position.setNetwork(new Network(CellTower.from( + parser.nextInt(), parser.nextInt(), parser.nextInt(16), parser.nextInt(16), parser.nextInt()))); position.set(Position.KEY_BATTERY, Double.parseDouble(parser.next())); @@ -310,11 +307,9 @@ public class MegastekProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); } - position.set(Position.KEY_MCC, parser.nextInt()); - position.set(Position.KEY_MNC, parser.nextInt()); - position.set(Position.KEY_LAC, parser.nextInt(16)); - position.set(Position.KEY_CID, parser.nextInt(16)); - position.set(Position.KEY_GSM, parser.nextInt()); + position.setNetwork(new Network(CellTower.from( + parser.nextInt(), parser.nextInt(), parser.nextInt(16), parser.nextInt(16), parser.nextInt()))); + position.set(Position.KEY_INPUT, parser.nextInt(2)); position.set(Position.KEY_OUTPUT, parser.nextInt(2)); -- cgit v1.2.3