package com.jasonchen.microlang.beans; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; import com.jasonchen.microlang.utils.ObjectToStringUtility; /** * jasonchen * 2015/04/10 */ public class AccountBean implements Parcelable { // 用户的access_token、expires_time信息 private String access_token; private long expires_time; // 黑魔法access_token、expires_time信息 private String access_token_secret; private long expires_time_secret; // 用户信息Bean private UserBean info; private boolean black_magic; private int navigationPosition; public String getUid() { return (info != null ? info.getId() : ""); } public String getUsernick() { return (info != null ? info.getScreen_name() : ""); } public String getAvatar_url() { return (info != null ? info.getProfile_image_url() : ""); } public String getAccess_token() { return access_token; } public void setAccess_token(String access_token) { this.access_token = access_token; } public long getExpires_time() { return expires_time; } public void setExpires_time(long expires_time) { this.expires_time = expires_time; } public String getAccess_token_secret() { return access_token_secret; } public void setAccess_token_secret(String access_token) { this.access_token_secret = access_token; } public long getExpires_time_secret() { return expires_time_secret; } public void setExpires_time_secret(long expires_time) { this.expires_time_secret = expires_time; } public UserBean getInfo() { return info; } public void setInfo(UserBean info) { this.info = info; } public boolean isBlack_magic() { return black_magic; } public void setBlack_magic(boolean black_magic) { this.black_magic = black_magic; } public int getNavigationPosition() { return navigationPosition; } public void setNavigationPosition(int navigationPosition) { this.navigationPosition = navigationPosition; } @Override public String toString() { return ObjectToStringUtility.toString(this); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(access_token); dest.writeLong(expires_time); dest.writeString(access_token_secret); dest.writeLong(expires_time_secret); dest.writeInt(navigationPosition); dest.writeBooleanArray(new boolean[] { this.black_magic }); dest.writeParcelable(info, flags); } public static final Creator<AccountBean> CREATOR = new Creator<AccountBean>() { public AccountBean createFromParcel(Parcel in) { AccountBean accountBean = new AccountBean(); accountBean.access_token = in.readString(); accountBean.expires_time = in.readLong(); accountBean.access_token_secret = in.readString(); accountBean.expires_time_secret = in.readLong(); accountBean.navigationPosition = in.readInt(); boolean[] booleans = new boolean[1]; in.readBooleanArray(booleans); accountBean.black_magic = booleans[0]; accountBean.info = in.readParcelable(UserBean.class .getClassLoader()); return accountBean; } public AccountBean[] newArray(int size) { return new AccountBean[size]; } }; @Override public boolean equals(Object o) { return o instanceof AccountBean && !TextUtils.isEmpty(((AccountBean) o).getUid()) && ((AccountBean) o).getUid().equalsIgnoreCase(getUid()); } @Override public int hashCode() { return info.hashCode(); } }