diff options
Diffstat (limited to 'src/org/traccar/protocol/MegastekProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/MegastekProtocolDecoder.java | 23 |
1 files changed, 9 insertions, 14 deletions
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)); |