Exemplo n.º 1
0
    private void handlePlayersList(String message) {
      String[] playersList = decode(message).split("playerindex:\\d+\\s");
      for (String playerParams : playersList) {
        String[] parameterList = playerParams.split("\\s");

        // parse out the MAC address first
        String macAddress = null;
        for (String parameter : parameterList) {
          if (parameter.contains("playerid")) {
            macAddress = parameter.substring(parameter.indexOf(":") + 1);
            break;
          }
        }

        // if none found then ignore this set of params
        if (macAddress == null) continue;

        // see if this player exists in our config
        SqueezePlayer player = playersByMacAddress.get(macAddress);
        if (player == null) continue;

        // populate the player state
        for (String parameter : parameterList) {
          if (parameter.contains("ip")) {
            player.setIpAddr(parameter.substring(parameter.indexOf(":") + 1));
          } else if (parameter.contains("uuid")) {
            player.setUuid(parameter.substring(parameter.indexOf(":") + 1));
          } else if (parameter.contains("name")) {
            player.setName(parameter.substring(parameter.indexOf(":") + 1));
          } else if (parameter.contains("model")) {
            player.setModel(parameter.substring(parameter.indexOf(":") + 1));
          }
        }

        // tell the server we want to subscribe to player updates
        sendCommand(player.getMacAddress() + " status - 1 subscribe:10 tags:yagJlN");
      }
    }