From 4022d0c0e4166716b6b20063de4daf5631c4579b Mon Sep 17 00:00:00 2001 From: Gavriel Fleischer Date: Mon, 14 Jan 2019 19:54:56 +0200 Subject: added message sending to WatchProtocol --- src/org/traccar/model/Command.java | 1 + src/org/traccar/protocol/WatchProtocol.java | 1 + src/org/traccar/protocol/WatchProtocolEncoder.java | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/src/org/traccar/model/Command.java b/src/org/traccar/model/Command.java index d50a66b36..336fc61f4 100644 --- a/src/org/traccar/model/Command.java +++ b/src/org/traccar/model/Command.java @@ -40,6 +40,7 @@ public class Command extends Message implements Cloneable { public static final String TYPE_SOS_NUMBER = "sosNumber"; public static final String TYPE_SILENCE_TIME = "silenceTime"; public static final String TYPE_SET_PHONEBOOK = "setPhonebook"; + public static final String TYPE_MESSAGE = "message"; public static final String TYPE_VOICE_MESSAGE = "voiceMessage"; public static final String TYPE_OUTPUT_CONTROL = "outputControl"; public static final String TYPE_VOICE_MONITORING = "voiceMonitoring"; diff --git a/src/org/traccar/protocol/WatchProtocol.java b/src/org/traccar/protocol/WatchProtocol.java index 926d2826d..5d923106d 100644 --- a/src/org/traccar/protocol/WatchProtocol.java +++ b/src/org/traccar/protocol/WatchProtocol.java @@ -37,6 +37,7 @@ public class WatchProtocol extends BaseProtocol { Command.TYPE_SILENCE_TIME, Command.TYPE_ALARM_CLOCK, Command.TYPE_SET_PHONEBOOK, + Command.TYPE_MESSAGE, Command.TYPE_VOICE_MESSAGE, Command.TYPE_SET_TIMEZONE, Command.TYPE_SET_INDICATOR); diff --git a/src/org/traccar/protocol/WatchProtocolEncoder.java b/src/org/traccar/protocol/WatchProtocolEncoder.java index 17952e3cd..f66ba4072 100644 --- a/src/org/traccar/protocol/WatchProtocolEncoder.java +++ b/src/org/traccar/protocol/WatchProtocolEncoder.java @@ -36,6 +36,8 @@ public class WatchProtocolEncoder extends StringProtocolEncoder implements Strin double offset = TimeZone.getTimeZone((String) value).getRawOffset() / 3600000.0; DecimalFormat fmt = new DecimalFormat("+#.##;-#.##", DecimalFormatSymbols.getInstance(Locale.US)); return fmt.format(offset); + } else if (key.equals(Command.KEY_MESSAGE)) { + return DataConverter.printHex(value.toString().getBytes()); } return null; @@ -134,6 +136,8 @@ public class WatchProtocolEncoder extends StringProtocolEncoder implements Strin return formatCommand(channel, command, "REMIND,{%s}", Command.KEY_DATA); case Command.TYPE_SET_PHONEBOOK: return formatCommand(channel, command, "PHB,{%s}", Command.KEY_DATA); + case Command.TYPE_MESSAGE: + return formatCommand(channel, command, "MESSAGE,{%s}", Command.KEY_MESSAGE); case Command.TYPE_VOICE_MESSAGE: return formatCommand(channel, command, "TK,%s", getBinaryData(command)); case Command.TYPE_POSITION_PERIODIC: -- cgit v1.2.3 From 52b30b6c282e7385783803a5c9d1ce2a0e5e8be6 Mon Sep 17 00:00:00 2001 From: Gavriel Fleischer Date: Mon, 14 Jan 2019 19:55:24 +0200 Subject: fixed typo --- src/org/traccar/helper/Log.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/traccar/helper/Log.java b/src/org/traccar/helper/Log.java index 6f5a875bc..df0c9abc1 100644 --- a/src/org/traccar/helper/Log.java +++ b/src/org/traccar/helper/Log.java @@ -66,7 +66,7 @@ public final class Log { writer.close(); writer = null; if (!new File(name).renameTo(new File(name + "." + this.suffix))) { - throw new RuntimeException("Log file renaiming failed"); + throw new RuntimeException("Log file renaming failed"); } } } -- cgit v1.2.3 From 872f672e7832da3755cb7576f04dd2aec4132bd5 Mon Sep 17 00:00:00 2001 From: Gavriel Fleischer Date: Mon, 14 Jan 2019 20:00:01 +0200 Subject: added test for MESSAGE --- test/org/traccar/protocol/WatchProtocolEncoderTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/org/traccar/protocol/WatchProtocolEncoderTest.java b/test/org/traccar/protocol/WatchProtocolEncoderTest.java index 9b9e68cdb..e088a2b04 100644 --- a/test/org/traccar/protocol/WatchProtocolEncoderTest.java +++ b/test/org/traccar/protocol/WatchProtocolEncoderTest.java @@ -39,6 +39,12 @@ public class WatchProtocolEncoderTest extends ProtocolTest { command.set(Command.KEY_DATA, "2321414d520a2573"); assertEquals("[CS*123456789012345*000b*TK,#!AMR\n%s]", encoder.encodeCommand(null, command)); + command = new Command(); + command.setDeviceId(1); + command.setType(Command.TYPE_MESSAGE); + command.set(Command.KEY_MESSAGE, "text"); + assertEquals("[CS*123456789012345*0010*MESSAGE,74657874]", encoder.encodeCommand(null, command)); + command = new Command(); command.setDeviceId(1); command.setType(Command.TYPE_CUSTOM); -- cgit v1.2.3