aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/database/CommandsManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/database/CommandsManager.java')
-rw-r--r--src/org/traccar/database/CommandsManager.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/org/traccar/database/CommandsManager.java b/src/org/traccar/database/CommandsManager.java
index 6eb6d9035..deb802b29 100644
--- a/src/org/traccar/database/CommandsManager.java
+++ b/src/org/traccar/database/CommandsManager.java
@@ -81,17 +81,17 @@ public class CommandsManager extends ExtendedObjectManager<Command> {
}
}
- public Collection<Long> getSupportedCommands(long deviceId, boolean textChannel) {
+ public Collection<Long> getSupportedCommands(long deviceId) {
List<Long> result = new ArrayList<>();
Position lastPosition = Context.getIdentityManager().getLastPosition(deviceId);
+ boolean online = Context.getConnectionManager().getActiveDevice(deviceId) != null;
for (long commandId : getAllDeviceItems(deviceId)) {
Command command = getById(commandId);
- if (command.getTextChannel() == textChannel) {
+ if (command.getTextChannel() || online) {
if (lastPosition != null) {
BaseProtocol protocol = Context.getServerManager().getProtocol(lastPosition.getProtocol());
- Collection<String> protocolCommands =
- textChannel ? protocol.getSupportedTextCommands() : protocol.getSupportedDataCommands();
- if (protocolCommands.contains(command.getType())) {
+ if (protocol.getSupportedTextCommands().contains(command.getType())
+ || online && protocol.getSupportedDataCommands().contains(command.getType())) {
result.add(commandId);
}
} else if (command.getType().equals(Command.TYPE_CUSTOM)) {