package com.lody.virtual.server.accounts;
import android.accounts.Account;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.HashMap;
import java.util.Map;
/**
* @author Lody
*/
public class VAccount implements Parcelable {
public static final Parcelable.Creator<VAccount> CREATOR = new Parcelable.Creator<VAccount>() {
@Override
public VAccount createFromParcel(Parcel source) {
return new VAccount(source);
}
@Override
public VAccount[] newArray(int size) {
return new VAccount[size];
}
};
public int userId;
public String name;
public String previousName;
public String type;
public String password;
public long lastAuthenticatedTime;
public Map<String, String> authTokens;
public Map<String, String> userDatas;
public VAccount(int userId, Account account) {
this.userId = userId;
name = account.name;
type = account.type;
authTokens = new HashMap<>();
userDatas = new HashMap<>();
}
public VAccount(Parcel in) {
userId = in.readInt();
name = in.readString();
previousName = in.readString();
type = in.readString();
password = in.readString();
lastAuthenticatedTime = in.readLong();
int authTokensSize = in.readInt();
authTokens = new HashMap<>(authTokensSize);
for (int i = 0; i < authTokensSize; i++) {
String key = in.readString();
String value = in.readString();
authTokens.put(key, value);
}
int userDatasSize = in.readInt();
userDatas = new HashMap<>(userDatasSize);
for (int i = 0; i < userDatasSize; i++) {
String key = in.readString();
String value = in.readString();
userDatas.put(key, value);
}
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(userId);
dest.writeString(name);
dest.writeString(previousName);
dest.writeString(type);
dest.writeString(password);
dest.writeLong(lastAuthenticatedTime);
dest.writeInt(authTokens.size());
for (Map.Entry<String, String> entry : authTokens.entrySet()) {
dest.writeString(entry.getKey());
dest.writeString(entry.getValue());
}
dest.writeInt(userDatas.size());
for (Map.Entry<String, String> entry : userDatas.entrySet()) {
dest.writeString(entry.getKey());
dest.writeString(entry.getValue());
}
}
}