/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.content; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import WriteReviewOperation.MediaRef; import android.os.Parcel; import android.os.Parcelable; /** * * @author sihai * */ public class DbEmotishareMetadata extends DbSerializer implements Parcelable { public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { public final Object createFromParcel(Parcel parcel) { return new DbEmotishareMetadata(parcel, (byte)0); } public final Object[] newArray(int i) { return new DbEmotishareMetadata[i]; } }; private List mCategory; private DbEmbedEmotishare mEmbed; private int mGeneration; private MediaRef mIconRef; private String mIconUrl; private int mId; private String mShareText; private DbEmotishareMetadata() { } public DbEmotishareMetadata(int i, ArrayList arraylist, String s, String s1, DbEmbedEmotishare dbembedemotishare, int j) { mId = i; mCategory = arraylist; mShareText = s; mIconUrl = s1; mGeneration = j; mEmbed = dbembedemotishare; mIconRef = createMediaRef(mIconUrl); } private DbEmotishareMetadata(Parcel parcel) { mId = parcel.readInt(); mCategory = new ArrayList(); parcel.readStringList(mCategory); mShareText = parcel.readString(); mIconUrl = parcel.readString(); mGeneration = parcel.readInt(); mEmbed = (DbEmbedEmotishare)parcel.readParcelable(DbEmbedEmotishare.class.getClassLoader()); mIconRef = createMediaRef(mIconUrl); } DbEmotishareMetadata(Parcel parcel, byte byte0) { this(parcel); } public static MediaRef createMediaRef(String s) { return new MediaRef(null, 0L, s, null, MediaRef.MediaType.IMAGE); } public static DbEmotishareMetadata deserialize(byte abyte0[]) { DbEmotishareMetadata dbemotisharemetadata; if(abyte0 == null) { dbemotisharemetadata = null; } else { ByteBuffer bytebuffer = ByteBuffer.wrap(abyte0); dbemotisharemetadata = new DbEmotishareMetadata(); dbemotisharemetadata.mId = bytebuffer.getInt(); dbemotisharemetadata.mCategory = new ArrayList(getShortStringList(bytebuffer)); dbemotisharemetadata.mShareText = getShortString(bytebuffer); dbemotisharemetadata.mIconUrl = getShortString(bytebuffer); dbemotisharemetadata.mGeneration = bytebuffer.getInt(); dbemotisharemetadata.mEmbed = DbEmbedEmotishare.deserialize(bytebuffer); dbemotisharemetadata.mIconRef = createMediaRef(dbemotisharemetadata.mIconUrl); } return dbemotisharemetadata; } public static byte[] serialize(DbEmotishareMetadata dbemotisharemetadata) throws IOException { ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(64); DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream); dataoutputstream.writeInt(dbemotisharemetadata.mId); putShortStringList(dataoutputstream, dbemotisharemetadata.mCategory); putShortString(dataoutputstream, dbemotisharemetadata.mShareText); putShortString(dataoutputstream, dbemotisharemetadata.mIconUrl); dataoutputstream.writeInt(dbemotisharemetadata.mGeneration); dataoutputstream.write(DbEmbedEmotishare.serialize(dbemotisharemetadata.mEmbed)); byte abyte0[] = bytearrayoutputstream.toByteArray(); dataoutputstream.close(); return abyte0; } public int describeContents() { return 0; } public final DbEmbedEmotishare getEmbed() { return mEmbed; } public final int getGeneration() { return mGeneration; } public final MediaRef getIconRef() { return mIconRef; } public final int getId() { return mId; } public final MediaRef getImageRef() { MediaRef mediaref; if(mEmbed == null) mediaref = null; else mediaref = mEmbed.getImageRef(); return mediaref; } public final String getImageUrl() { String s; if(mEmbed == null) s = null; else s = mEmbed.getImageUrl(); return s; } public final String getName() { String s; if(mEmbed == null) s = null; else s = mEmbed.getName(); return s; } public final String getShareText() { return mShareText; } public final String getType() { String s; if(mEmbed == null) s = null; else s = mEmbed.getType(); return s; } public String toString() { StringBuilder stringbuilder = new StringBuilder("TypedImageEmbed name: "); String s; if(mEmbed == null) s = null; else s = mEmbed.getName(); return stringbuilder.append(s).append(", ID: ").append(mId).append(", cat: ").append(mCategory).append(", share: ").append(mShareText).append(", icon: ").append(mIconUrl).append(", gen: ").append(mGeneration).append(", embed: ").append(mEmbed).toString(); } public void writeToParcel(Parcel parcel, int i) { parcel.writeInt(mId); parcel.writeStringList(mCategory); parcel.writeString(mShareText); parcel.writeString(mIconUrl); parcel.writeInt(mGeneration); parcel.writeParcelable(mEmbed, 0); } }