code: public void resolvePresence() {
          ArrayList<Object> list = new ArrayList<Object>();
  
          for (RespokeConnection eachConnection : connections) {
              Object connectionPresence = eachConnection.presence;
  
              if (null != connectionPresence) {
                  list.add(connectionPresence);
              }
          }
  
          RespokeClient client = null;
          RespokeClient.ResolvePresenceListener resolveListener = null;
          if (null != clientReference) {
              client = clientReference.get();
  
              if (client != null) {
                  resolveListener = client.getResolvePresenceListener();
              }
          }
  
          if (null != resolveListener) {
              presence = resolveListener.resolvePresence(list);
          } else {
              ArrayList<String> options = new ArrayList<String>();
              options.add("chat");
              options.add("available");
              options.add("away");
              options.add("dnd");
              options.add("xa");
              options.add("unavailable");
  
              String newPresence = null;
              for (String eachOption : options) {
                  for (Object eachObject : list) {
                      if (eachObject instanceof String) {
                          String eachObjectString = (String) eachObject;
  
                          if (eachObjectString.toLowerCase().equals(eachOption)) {
                              newPresence = eachOption;
                          }
                      }
                  }
  
                  if (null != newPresence) {
                      break;
                  }
              }
  
              if (null == newPresence) {
                  newPresence = "unavailable";
              }
  
              presence = newPresence;
          }
  
          new Handler(Looper.getMainLooper()).post(new Runnable() {
              @Override
              public void run() {
                  if (null != listenerReference) {
                      Listener listener = listenerReference.get();
                      if (null != listener) {
                          listener.onPresence(presence, RespokeEndpoint.this);
                      }
                  }
              }
          });
      }
docs: Find the presence out of all known connections with the highest priority (most availability)
  and set it as the endpoint's resolved presence.