package xmpp.client.service.chat.multi;
import xmpp.client.service.chat.ChatSession;
import xmpp.client.service.user.User;
import xmpp.client.service.user.UserList;
import android.os.Parcel;
import android.os.Parcelable;
public class MultiChatSession extends ChatSession {
@SuppressWarnings("unused")
private static final String TAG = MultiChatSession.class.getName();
UserList mUserList;
String mSubject;
public static final Parcelable.Creator<MultiChatSession> CREATOR = new Parcelable.Creator<MultiChatSession>() {
@Override
public MultiChatSession createFromParcel(Parcel in) {
final boolean[] bl = in.createBooleanArray();
return new MultiChatSession(bl, in);
}
@Override
public MultiChatSession[] newArray(int size) {
return new MultiChatSession[size];
}
};
public MultiChatSession(boolean[] bl, Parcel in) {
super(bl, in);
mUserList = in.readParcelable(UserList.class.getClassLoader());
mSubject = in.readString();
}
public MultiChatSession(String muc) {
super(muc);
mUserList = new UserList();
}
@Override
public String getIdentifier() {
return getSessionID();
}
public String getSubject() {
return mSubject;
}
public UserList getUsers() {
return mUserList;
}
public void setSubject(String subject) {
mSubject = subject;
}
public void updateUser(User user) {
if (!user.getUserState().isOnline() && mUserList.contains(user)) {
mUserList.remove(user);
} else if (!mUserList.contains(user)) {
mUserList.add(user);
}
mUserList.sort();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeParcelable(mUserList, flags);
dest.writeString(mSubject);
}
}