package com.pinthecloud.athere.model; import java.util.Calendar; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import com.google.gson.JsonObject; import com.pinthecloud.athere.R; public class AhUser implements Parcelable{ @com.google.gson.annotations.SerializedName("id") private String id; @com.google.gson.annotations.SerializedName("ahId") private String ahId; @com.google.gson.annotations.SerializedName("mobileId") private String mobileId; @com.google.gson.annotations.SerializedName("mobileType") private String mobileType = "Android"; @com.google.gson.annotations.SerializedName("registrationId") private String registrationId; @com.google.gson.annotations.SerializedName("isMale") private boolean isMale; @com.google.gson.annotations.SerializedName("birthYear") private int birthYear; @com.google.gson.annotations.SerializedName("profilePic") private String profilePic = "NOT_IN_USE"; @com.google.gson.annotations.SerializedName("nickName") private String nickName; @com.google.gson.annotations.SerializedName("isChupaEnable") private boolean isChupaEnable; public AhUser() { } public AhUser(Parcel in){ this(); readToParcel(in); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getAhId() { return ahId; } public void setAhId(String ahId) { this.ahId = ahId; } public String getMobileId() { return mobileId; } public void setMobileId(String mobileId) { this.mobileId = mobileId; } public String getMobileType() { return mobileType; } public void setMobileType(String mobileType) { this.mobileType = mobileType; } public String getRegistrationId() { return registrationId; } public void setRegistrationId(String registrationId) { this.registrationId = registrationId; } public boolean isMale() { return isMale; } public void setMale(boolean isMale) { this.isMale = isMale; } public int getBirthYear() { return birthYear; } public void setBirthYear(int birthYear) { this.birthYear = birthYear; } public String getProfilePic() { return profilePic; } public void setProfilePic(String profilePic) { this.profilePic = profilePic; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public boolean isChupaEnable() { return isChupaEnable; } public void setChupaEnable(boolean isChupaEnable) { this.isChupaEnable = isChupaEnable; } public int getAge() { Calendar c = Calendar.getInstance(); return c.get(Calendar.YEAR) - (getBirthYear() - 1); } public String getGenderString(Context context){ if(isMale){ return context.getResources().getString(R.string.man); }else{ return context.getResources().getString(R.string.woman); } } /* * Parcelable */ public static final Parcelable.Creator<AhUser> CREATOR = new Creator<AhUser>(){ public AhUser createFromParcel(Parcel in){ return new AhUser(in); } public AhUser[] newArray(int size){ return new AhUser[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(getId()); dest.writeString(getAhId()); dest.writeString(getMobileId()); dest.writeString(getMobileType()); dest.writeString(getRegistrationId()); dest.writeInt(isMale() ? 1 : 0); dest.writeInt(getBirthYear()); dest.writeString(getProfilePic()); dest.writeString(getNickName()); dest.writeInt(isChupaEnable() ? 1 : 0); } public void readToParcel(Parcel in){ setId(in.readString()); setAhId(in.readString()); setMobileId(in.readString()); setMobileType(in.readString()); setRegistrationId(in.readString()); setMale(in.readInt() == 1); setBirthYear(in.readInt()); setProfilePic(in.readString()); setNickName(in.readString()); setChupaEnable(in.readInt() == 1); } /* * Utility */ @Override public String toString() { return concate(getId(), getAhId(), getMobileId(), getMobileType(), getRegistrationId(), isMale(), getBirthYear(), getProfilePic(), getNickName(), isChupaEnable()); } private String concate(Object... args) { String str = ""; for(Object arg : args) { str += arg.toString() + " : "; } return str; } public JsonObject toJson() { JsonObject jo = new JsonObject(); jo.addProperty("id", getId()); jo.addProperty("ahId", getAhId()); jo.addProperty("mobileId", getMobileId()); jo.addProperty("mobileType", getMobileType()); jo.addProperty("registrationId", getRegistrationId()); jo.addProperty("isMale", isMale()); jo.addProperty("birthYear", getBirthYear()); jo.addProperty("profilePic", getProfilePic()); jo.addProperty("nickName", getNickName()); jo.addProperty("isChupaEnable", isChupaEnable()); return jo; } /* * Test */ // public static AhUser addUserTest(){ // AhUser user = new AhUser(); // return user; // } // // private static String getRandomString(){ // char[] chars = "abcdefghijklmnopqrstuvwxyz".toCharArray(); // StringBuilder sb = new StringBuilder(); // Random random = new Random(); // for (int i = 0; i < random.nextInt(25); i++) { // char c = chars[random.nextInt(chars.length)]; // sb.append(c); // } // String output = sb.toString(); // return output; // } // // private static int getRandomInt(){ // Random random = new Random(); // return random.nextInt(40); // } }