aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/WatchProtocolEncoder.java
diff options
context:
space:
mode:
authorAlexander Menk <menk@mestrona.net>2016-12-20 12:47:19 +0100
committerAlexander Menk <menk@mestrona.net>2016-12-20 12:47:19 +0100
commite0f8ae0ef6a2dbaa973e23650e347cbcf77b387a (patch)
treea0e77b367127bc765115bfcbb80f8ad3be98f59b /src/org/traccar/protocol/WatchProtocolEncoder.java
parentfd4422aa07017e467925a06608a412d15c2a08a4 (diff)
downloadtrackermap-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/WatchProtocolEncoder.java')
-rw-r--r--src/org/traccar/protocol/WatchProtocolEncoder.java17
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);
}