From 81beb5afb946d8c9ccfa2bbdfcfe884771a5bd3b Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 2 May 2013 22:16:14 +1200 Subject: Fix extended info XML format --- src/org/traccar/protocol/Gt06ProtocolDecoder.java | 29 +++++++---------------- 1 file changed, 9 insertions(+), 20 deletions(-) (limited to 'src/org/traccar/protocol/Gt06ProtocolDecoder.java') diff --git a/src/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/org/traccar/protocol/Gt06ProtocolDecoder.java index 741841a11..a0113b362 100644 --- a/src/org/traccar/protocol/Gt06ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gt06ProtocolDecoder.java @@ -25,6 +25,7 @@ import org.traccar.BaseProtocolDecoder; import org.traccar.ServerManager; import org.traccar.helper.Crc; import org.traccar.helper.Log; +import org.traccar.model.ExtendedInfoFormatter; import org.traccar.model.Position; public class Gt06ProtocolDecoder extends BaseProtocolDecoder { @@ -108,7 +109,7 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder { // Create new position Position position = new Position(); position.setDeviceId(deviceId); - StringBuilder extendedInfo = new StringBuilder("gt06"); + ExtendedInfoFormatter extendedInfo = new ExtendedInfoFormatter("gt06"); // Date and time Calendar time = Calendar.getInstance(TimeZone.getTimeZone("UTC")); @@ -123,9 +124,7 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder { // GPS length and Satellites count int gpsLength = buf.readUnsignedByte(); - extendedInfo.append(""); - extendedInfo.append(gpsLength & 0xf); - extendedInfo.append(""); + extendedInfo.set("satellites", gpsLength & 0xf); gpsLength >>= 4; // Latitude @@ -158,32 +157,22 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder { } // Cell information - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedShort()); - extendedInfo.append(""); - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedByte()); - extendedInfo.append(""); - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedShort()); - extendedInfo.append(""); - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedShort() << 8 + buf.readUnsignedByte()); - extendedInfo.append(""); + extendedInfo.set("mcc", buf.readUnsignedShort()); + extendedInfo.set("mnc", buf.readUnsignedByte()); + extendedInfo.set("lac", buf.readUnsignedShort()); + extendedInfo.set("cell", buf.readUnsignedShort() << 8 + buf.readUnsignedByte()); buf.skipBytes(lbsLength - 9); // Status if (type == MSG_GPS_LBS_STATUS) { int flags = buf.readUnsignedByte(); // TODO parse flags - extendedInfo.append("true"); + extendedInfo.set("alarm", true); // Voltage position.setPower((double) buf.readUnsignedByte()); // GSM signal - extendedInfo.append(""); - extendedInfo.append(buf.readUnsignedByte()); - extendedInfo.append(""); + extendedInfo.set("gsm", buf.readUnsignedByte()); } } -- cgit v1.2.3