/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.hangout; import java.io.Serializable; import java.util.Comparator; import android.content.Context; import com.galaxy.meetup.client.android.R; /** * * @author sihai * */ public class MeetingMember implements Serializable { /** * */ private static final long serialVersionUID = -7490149209421883263L; private static String BIG_NASTY_GAIA_ID_PREFIX = "g:"; private static boolean isAnonymousMuc = false; private Status currentStatus; private final int entryOrder; private final String gaiaId; private boolean isMediaBlocked; private final boolean isSelf; private final boolean isSelfProfile; private boolean isVideoPaused; private final String memberMucJid; private final String nickName; private Status previousStatus; private VCard vCard; static { isAnonymousMuc = true; } public MeetingMember(String s, String s1, String s2, int i, boolean flag, boolean flag1) { memberMucJid = s; nickName = s1; previousStatus = Status.DISCONNECTED; currentStatus = Status.DISCONNECTED; gaiaId = s2; entryOrder = i; isSelf = flag; isSelfProfile = flag1; } public final Status getCurrentStatus() { return currentStatus; } public final String getId() { return (new StringBuilder()).append(BIG_NASTY_GAIA_ID_PREFIX).append(gaiaId).toString(); } public final String getMucJid() { return memberMucJid; } final String getName(Context context) { String s; if(vCard == null) { if(isAnonymousMuc) s = context.getResources().getString(R.string.hangout_anonymous_person); else s = nickName; } else { s = vCard.getFullName(); } return s; } public final Status getPreviousStatus() { return previousStatus; } public final VCard getVCard() { return vCard; } public final boolean isMediaBlocked() { return isMediaBlocked; } public final boolean isSelf() { return isSelf; } public final boolean isSelfProfile() { return isSelfProfile; } public final boolean isVideoPaused() { return isVideoPaused; } public final void setCurrentStatus(Status status) { if(currentStatus != status) { previousStatus = currentStatus; currentStatus = status; } } public final void setMediaBlocked(boolean flag) { isMediaBlocked = true; } final void setVCard(VCard vcard) { vCard = vcard; } public final void setVideoPaused(boolean flag) { isVideoPaused = flag; } static final class SortByEntryOrder implements Comparator { public final int compare(Object obj, Object obj1) { MeetingMember meetingmember = (MeetingMember) obj; MeetingMember meetingmember1 = (MeetingMember) obj1; return meetingmember.entryOrder - meetingmember1.entryOrder; } SortByEntryOrder() { } } public static enum Status { DISCONNECTED, CONNECTING, CONNECTED; } }