Search in sources :

Example 1 with Affiliation

use of com.xabber.xmpp.muc.Affiliation in project xabber-android by redsolution.

the class RoomChat method createOccupant.

/**
     * Warning: this method should be placed with packet provider.
     *
     * @return New occupant based on presence information.
     */
private Occupant createOccupant(String resource, Presence presence) {
    Occupant occupant = new Occupant(resource);
    String jid = null;
    Affiliation affiliation = Affiliation.none;
    Role role = Role.none;
    StatusMode statusMode = StatusMode.unavailable;
    String statusText = null;
    MUCUser mucUser = MUC.getMUCUserExtension(presence);
    if (mucUser != null) {
        MUCItem item = mucUser.getItem();
        if (item != null) {
            jid = item.getJid();
            try {
                affiliation = Affiliation.fromString(item.getAffiliation().toString());
            } catch (NoSuchElementException e) {
            }
            try {
                role = Role.fromString(item.getRole().toString());
            } catch (NoSuchElementException e) {
            }
            statusMode = StatusMode.createStatusMode(presence);
            statusText = presence.getStatus();
        }
    }
    if (statusText == null) {
        statusText = "";
    }
    occupant.setJid(jid);
    occupant.setAffiliation(affiliation);
    occupant.setRole(role);
    occupant.setStatusMode(statusMode);
    occupant.setStatusText(statusText);
    return occupant;
}
Also used : Role(com.xabber.xmpp.muc.Role) MUCItem(org.jivesoftware.smackx.muc.packet.MUCItem) StatusMode(com.xabber.android.data.account.StatusMode) MUCUser(org.jivesoftware.smackx.muc.packet.MUCUser) NoSuchElementException(java.util.NoSuchElementException) Affiliation(com.xabber.xmpp.muc.Affiliation)

Aggregations

StatusMode (com.xabber.android.data.account.StatusMode)1 Affiliation (com.xabber.xmpp.muc.Affiliation)1 Role (com.xabber.xmpp.muc.Role)1 NoSuchElementException (java.util.NoSuchElementException)1 MUCItem (org.jivesoftware.smackx.muc.packet.MUCItem)1 MUCUser (org.jivesoftware.smackx.muc.packet.MUCUser)1