/**
* 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 WriteReviewOperation.MediaRef;
import android.os.Parcel;
import android.os.Parcelable;
import com.galaxy.meetup.server.client.domain.EmbedClientItem;
import com.galaxy.meetup.server.client.domain.Emotishare;
import com.galaxy.meetup.server.client.domain.Thing;
import com.galaxy.meetup.server.client.domain.Thumbnail;
/**
*
* @author sihai
*
*/
public class DbEmbedEmotishare 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 DbEmbedEmotishare(parcel, (byte)0);
}
public final Object[] newArray(int i)
{
return new DbEmbedEmotishare[i];
}
};
private String mDescription;
private MediaRef mImageRef;
private String mImageUrl;
private String mName;
private String mType;
private String mUrl;
private DbEmbedEmotishare()
{
}
private DbEmbedEmotishare(Parcel parcel)
{
mUrl = parcel.readString();
mImageUrl = parcel.readString();
mName = parcel.readString();
mDescription = parcel.readString();
mType = parcel.readString();
mImageRef = DbEmotishareMetadata.createMediaRef(mImageUrl);
}
DbEmbedEmotishare(Parcel parcel, byte byte0)
{
this(parcel);
}
public DbEmbedEmotishare(Emotishare emotishare)
{
mUrl = emotishare.url;
mType = emotishare.emotion;
mName = emotishare.name;
mDescription = emotishare.description;
if(emotishare.proxiedImage != null)
mImageUrl = emotishare.proxiedImage.getImageUrl();
}
public DbEmbedEmotishare(String s, String s1, String s2, String s3)
{
mUrl = s2;
mType = s;
mName = s1;
mDescription = s3;
mImageUrl = s2;
mImageRef = DbEmotishareMetadata.createMediaRef(s2);
}
public static DbEmbedEmotishare deserialize(ByteBuffer bytebuffer)
{
DbEmbedEmotishare dbembedemotishare;
if(bytebuffer == null)
{
dbembedemotishare = null;
} else
{
dbembedemotishare = new DbEmbedEmotishare();
dbembedemotishare.mUrl = getShortString(bytebuffer);
dbembedemotishare.mImageUrl = getShortString(bytebuffer);
dbembedemotishare.mName = getShortString(bytebuffer);
dbembedemotishare.mDescription = getShortString(bytebuffer);
dbembedemotishare.mType = getShortString(bytebuffer);
dbembedemotishare.mImageRef = DbEmotishareMetadata.createMediaRef(dbembedemotishare.mImageUrl);
}
return dbembedemotishare;
}
public static DbEmbedEmotishare deserialize(byte abyte0[])
{
DbEmbedEmotishare dbembedemotishare;
if(abyte0 == null)
dbembedemotishare = null;
else
dbembedemotishare = deserialize(ByteBuffer.wrap(abyte0));
return dbembedemotishare;
}
public static byte[] serialize(DbEmbedEmotishare dbembedemotishare)
throws IOException
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(64);
DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
putShortString(dataoutputstream, dbembedemotishare.mUrl);
putShortString(dataoutputstream, dbembedemotishare.getImageUrl());
putShortString(dataoutputstream, dbembedemotishare.mName);
putShortString(dataoutputstream, dbembedemotishare.mDescription);
putShortString(dataoutputstream, dbembedemotishare.mType);
byte abyte0[] = bytearrayoutputstream.toByteArray();
dataoutputstream.close();
return abyte0;
}
public final EmbedClientItem createEmbed()
{
EmbedClientItem embedclientitem = new EmbedClientItem();
embedclientitem.type = new ArrayList();
embedclientitem.type.add("EMOTISHARE");
Emotishare emotishare = new Emotishare();
emotishare.url = mUrl;
emotishare.emotion = mType;
emotishare.name = mName;
if(mImageUrl != null)
{
emotishare.proxiedImage = new Thumbnail();
emotishare.proxiedImage.setImageUrl(mImageUrl) ;
}
embedclientitem.emotishare = emotishare;
embedclientitem.type.add("THING");
Thing thing = new Thing();
thing.url = mUrl;
thing.name = mName;
thing.imageUrl = mImageUrl;
embedclientitem.thing = thing;
return embedclientitem;
}
public int describeContents()
{
return 0;
}
public final MediaRef getImageRef()
{
return mImageRef;
}
public final String getImageUrl()
{
String s;
if(mImageUrl != null)
s = mImageUrl;
else
s = mUrl;
return s;
}
public final String getName()
{
return mName;
}
public final String getType()
{
return mType;
}
public void writeToParcel(Parcel parcel, int i)
{
parcel.writeString(mUrl);
parcel.writeString(mImageUrl);
parcel.writeString(mName);
parcel.writeString(mDescription);
parcel.writeString(mType);
}
}