diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-10-23 19:16:28 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-23 19:16:28 +1300 |
commit | 496f6a612eb02396946db2715225f55cc7003a0d (patch) | |
tree | 8028751cd713e90c1b1a35eab4027dda9280959d /src/org/traccar/database/CommandsManager.java | |
parent | f6f514bea19a75544378fdbfccb6808ea1a0424e (diff) | |
parent | 22efd02c8a45963e08e887d402bd4b9161636ddf (diff) | |
download | traccar-server-496f6a612eb02396946db2715225f55cc7003a0d.tar.gz traccar-server-496f6a612eb02396946db2715225f55cc7003a0d.tar.bz2 traccar-server-496f6a612eb02396946db2715225f55cc7003a0d.zip |
Merge pull request #3600 from Abyss777/fix_3592
Set deviceId in Saved Command before sending
Diffstat (limited to 'src/org/traccar/database/CommandsManager.java')
-rw-r--r-- | src/org/traccar/database/CommandsManager.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/org/traccar/database/CommandsManager.java b/src/org/traccar/database/CommandsManager.java index cae4ac6f7..9ceb995ef 100644 --- a/src/org/traccar/database/CommandsManager.java +++ b/src/org/traccar/database/CommandsManager.java @@ -45,12 +45,12 @@ public class CommandsManager extends ExtendedObjectManager<Command> { return !getAllDeviceItems(deviceId).contains(commandId); } - public boolean sendCommand(long commandId, long deviceId) throws Exception { - return sendCommand(getById(commandId), deviceId); - } - - public boolean sendCommand(Command command, long deviceId) throws Exception { - boolean sent = true; + public boolean sendCommand(Command command) throws Exception { + long deviceId = command.getDeviceId(); + if (command.getId() != 0) { + command = getById(command.getId()).clone(); + command.setDeviceId(deviceId); + } if (command.getTextChannel()) { Position lastPosition = Context.getIdentityManager().getLastPosition(deviceId); String phone = Context.getIdentityManager().getById(deviceId).getPhone(); @@ -71,10 +71,11 @@ public class CommandsManager extends ExtendedObjectManager<Command> { if (activeDevice != null) { activeDevice.sendCommand(command); } else { - sent = !getDeviceQueue(deviceId).add(command); + getDeviceQueue(deviceId).add(command); + return false; } } - return sent; + return true; } public Collection<Long> getSupportedCommands(long deviceId) { |