public void sendToApps(short cmd, int msgId, int dashId, int deviceId, String body) { if (isAppConnected()) { String finalBody = prependDashIdAndDeviceId(dashId, deviceId, body); sendToApps(cmd, msgId, dashId, finalBody); } }
@Override public void sendAppSync(Channel appChannel, int dashId, DashPinStorageKey key, boolean useNewFormat) { if (values.size() > 0) { if (useNewFormat) { Iterator<String> valIterator = values.iterator(); if (valIterator.hasNext()) { String last = null; StringBuilder sb = new StringBuilder(); sb.append(dashId).append(DEVICE_SEPARATOR).append(key.deviceId).append(BODY_SEPARATOR) .append(key.pinTypeChar).append('m').append(BODY_SEPARATOR).append(key.pin); while (valIterator.hasNext()) { last = valIterator.next(); sb.append(BODY_SEPARATOR).append(last); } appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, sb.toString())); //special case, when few widgets are on the same pin String body = prependDashIdAndDeviceId(dashId, key.deviceId, key.makeHardwareBody(last)); StringMessage message = makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body); appChannel.write(message, appChannel.voidPromise()); } } else { for (String value : values) { String body = prependDashIdAndDeviceId(dashId, key.deviceId, key.makeHardwareBody(value)); StringMessage message = makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body); appChannel.write(message, appChannel.voidPromise()); } } } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { //do not send SYNC message for widgets assigned to device selector //as it will be duplicated later. if (isAssignedToDeviceSelector()) { return; } if (targetId == ANY_TARGET || this.deviceId == targetId) { String hardBody = makeHardwareBody(); if (hardBody != null) { String body = prependDashIdAndDeviceId(dashId, this.deviceId, hardBody); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body)); } } }
@Override public void sendAppSync(Channel appChannel, int dashId, DashPinStorageKey key, boolean useNewFormat) { if (value != null) { String body = key.makeHardwareBody(value); String finalBody = prependDashIdAndDeviceId(key.dashId, key.deviceId, body); //special case for setProperty short cmdType = key.getCmdType(); StringMessage message = makeUTF8StringMessage(cmdType, SYNC_DEFAULT_MESSAGE_ID, finalBody); appChannel.write(message, appChannel.voidPromise()); } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { if (isNotValid() || lastCommands.size() == 0) { return; } if (targetId == ANY_TARGET || this.deviceId == targetId) { for (String storedValue : lastCommands) { String body = prependDashIdAndDeviceId(dashId, deviceId, makeHardwareBody(pinType, pin, storedValue)); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body)); } } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { for (Tile tile : tiles) { if ((targetId == ANY_TARGET || tile.deviceId == targetId) && tile.isValidDataStream() && tile.dataStream.isNotEmpty()) { String hardBody = tile.dataStream.makeHardwareBody(); String body = prependDashIdAndDeviceId(dashId, tile.deviceId, hardBody); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body)); } } }
private static void sendSyncOnActivate(DataStream dataStream, int dashId, int deviceId, Channel appChannel) { if (dataStream.notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStream.makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { if (dataStreams == null) { return; } if (targetId == ANY_TARGET || this.deviceId == targetId) { if (split) { for (DataStream dataStream : dataStreams) { if (dataStream.notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStream.makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } } } else { if (dataStreams[0].notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStreams[0].makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } } } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { if (dataStreams == null) { return; } if (targetId == ANY_TARGET || this.deviceId == targetId) { if (isSplitMode()) { for (DataStream dataStream : dataStreams) { if (dataStream.notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStream.makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } } } else { if (dataStreams[0].notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStreams[0].makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } } } }
@Override public void sendAppSync(Channel appChannel, int dashId, int targetId, boolean useNewSyncFormat) { if (isNotValid() || lastCommands.size() == 0) { return; } if (targetId == ANY_TARGET || this.deviceId == targetId) { if (useNewSyncFormat) { Iterator<String> valIterator = lastCommands.iterator(); if (valIterator.hasNext()) { String body = makeMultiValueHardwareBody(dashId, deviceId, pinType.pintTypeChar, pin, valIterator); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body)); } } else { for (String storedValue : lastCommands) { String body = prependDashIdAndDeviceId(dashId, deviceId, makeHardwareBody(pinType, pin, storedValue)); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body)); } } } }