package xmpp.client.account;
import android.os.Parcel;
import android.os.Parcelable;
public class AccountInfo implements Parcelable {
private final String mHostname;
private final String mUsername;
private final String mPassword;
private final int mPort;
private final int mSecurity;
public static final int ACCOUNT_SECURITY_DISABLED = 0;
public static final int ACCOUNT_SECURITY_ENABLED = 1;
public static final int ACCOUNT_SECURITY_REQUIRED = 2;
public static final Parcelable.Creator<AccountInfo> CREATOR = new Parcelable.Creator<AccountInfo>() {
@Override
public AccountInfo createFromParcel(Parcel in) {
return new AccountInfo(in);
}
@Override
public AccountInfo[] newArray(int size) {
return new AccountInfo[size];
}
};
public AccountInfo(Parcel in) {
mHostname = in.readString();
mUsername = in.readString();
mPassword = in.readString();
mPort = in.readInt();
mSecurity = in.readInt();
}
public AccountInfo(String login, String password) {
this(login.split("@")[0], password, login.split("@")[1]);
}
public AccountInfo(String username, String password, String hostname) {
this(username, password, hostname, -1);
}
public AccountInfo(String username, String password, String hostname,
int port) {
this(username, password, hostname, port, 1);
}
public AccountInfo(String username, String password, String hostname,
int port, int security) {
mUsername = username;
mPassword = password;
mHostname = hostname;
mPort = port;
mSecurity = security;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
public boolean equals(AccountInfo ai) {
return (ai.getHostname().equals(getHostname())
&& ai.getPassword().equals(getPassword())
&& ai.getPort() == getPort()
&& ai.getSecurity() == getSecurity() && ai.getUsername()
.equals(getUsername()));
}
public String getFullUsername() {
return getUsername() + "@" + getHostname();
}
public String getHostname() {
return mHostname;
}
public String getPassword() {
return mPassword;
}
public int getPort() {
return mPort;
}
public int getSecurity() {
return mSecurity;
}
public String getUsername() {
return mUsername;
}
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeString(mHostname);
out.writeString(mUsername);
out.writeString(mPassword);
out.writeInt(mPort);
out.writeInt(mSecurity);
}
}