diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2019-01-13 13:44:39 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-13 13:44:39 -0800 |
commit | 4650b7f1c866c9471a7ae79eb355256976d4b6c5 (patch) | |
tree | 3bea7545e337aed78c7d0f600ed2259ce27ddb41 | |
parent | f61154b15a707e24e306e77149b27acef31d97a4 (diff) | |
parent | 50eb6e7ec6364866e4934bb6fd1dd668e8e9fa69 (diff) | |
download | traccar-server-4650b7f1c866c9471a7ae79eb355256976d4b6c5.tar.gz traccar-server-4650b7f1c866c9471a7ae79eb355256976d4b6c5.tar.bz2 traccar-server-4650b7f1c866c9471a7ae79eb355256976d4b6c5.zip |
Merge pull request #4191 from flocsy/TK-binary
fixed exception when String.format thought the binary data has formt placeholders
-rw-r--r-- | src/org/traccar/protocol/WatchProtocolEncoder.java | 2 | ||||
-rw-r--r-- | test/org/traccar/protocol/WatchProtocolEncoderTest.java | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/WatchProtocolEncoder.java b/src/org/traccar/protocol/WatchProtocolEncoder.java index 482f2f0bf..17952e3cd 100644 --- a/src/org/traccar/protocol/WatchProtocolEncoder.java +++ b/src/org/traccar/protocol/WatchProtocolEncoder.java @@ -135,7 +135,7 @@ public class WatchProtocolEncoder extends StringProtocolEncoder implements Strin case Command.TYPE_SET_PHONEBOOK: return formatCommand(channel, command, "PHB,{%s}", Command.KEY_DATA); case Command.TYPE_VOICE_MESSAGE: - return formatCommand(channel, command, "TK," + getBinaryData(command)); + return formatCommand(channel, command, "TK,%s", getBinaryData(command)); case Command.TYPE_POSITION_PERIODIC: return formatCommand(channel, command, "UPLOAD,{%s}", Command.KEY_FREQUENCY); case Command.TYPE_SET_TIMEZONE: diff --git a/test/org/traccar/protocol/WatchProtocolEncoderTest.java b/test/org/traccar/protocol/WatchProtocolEncoderTest.java index d7784f50b..9b9e68cdb 100644 --- a/test/org/traccar/protocol/WatchProtocolEncoderTest.java +++ b/test/org/traccar/protocol/WatchProtocolEncoderTest.java @@ -35,6 +35,12 @@ public class WatchProtocolEncoderTest extends ProtocolTest { command = new Command(); command.setDeviceId(1); + command.setType(Command.TYPE_VOICE_MESSAGE); + 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_CUSTOM); command.set(Command.KEY_DATA, "WORK,6-9,11-13,13-15,17-19"); assertEquals("[CS*123456789012345*001a*WORK,6-9,11-13,13-15,17-19]", encoder.encodeCommand(null, command)); |