diff options
author | Alexander Menk <menk@mestrona.net> | 2016-12-20 12:47:19 +0100 |
---|---|---|
committer | Alexander Menk <menk@mestrona.net> | 2016-12-20 12:47:19 +0100 |
commit | e0f8ae0ef6a2dbaa973e23650e347cbcf77b387a (patch) | |
tree | a0e77b367127bc765115bfcbb80f8ad3be98f59b /src/org/traccar/protocol | |
parent | fd4422aa07017e467925a06608a412d15c2a08a4 (diff) | |
download | trackermap-server-e0f8ae0ef6a2dbaa973e23650e347cbcf77b387a.tar.gz trackermap-server-e0f8ae0ef6a2dbaa973e23650e347cbcf77b387a.tar.bz2 trackermap-server-e0f8ae0ef6a2dbaa973e23650e347cbcf77b387a.zip |
#2702 SetTimezone: Conversion to Seconds, Formating improvement (+ sign)
Diffstat (limited to 'src/org/traccar/protocol')
-rw-r--r-- | src/org/traccar/protocol/WatchProtocolEncoder.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/WatchProtocolEncoder.java b/src/org/traccar/protocol/WatchProtocolEncoder.java index 7c96c8a83..7c353e26d 100644 --- a/src/org/traccar/protocol/WatchProtocolEncoder.java +++ b/src/org/traccar/protocol/WatchProtocolEncoder.java @@ -21,13 +21,26 @@ import org.traccar.model.Command; import javax.xml.bind.DatatypeConverter; import java.nio.charset.StandardCharsets; +import java.text.DecimalFormat; import java.util.HashMap; import java.util.Map; -public class WatchProtocolEncoder extends StringProtocolEncoder { +public class WatchProtocolEncoder extends StringProtocolEncoder implements StringProtocolEncoder.ValueFormatter { + + @Override + public String formatValue(String key, Object value) { + if (key.equals(Command.KEY_TIMEZONE)) { + double offset = ((Number) value).longValue() / 60.0; + DecimalFormat fmt = new DecimalFormat("+#.##;-#.##"); + return fmt.format(offset); + } + + return null; + } + protected String formatCommand(Command command, String format, String... keys) { - String content = super.formatCommand(command, format, keys); + String content = super.formatCommand(command, format, this, keys); return String.format("[CS*%s*%04x*%s]", getUniqueId(command.getDeviceId()), content.length(), content); } |