/** * 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 android.text.TextUtils; import com.galaxy.meetup.server.client.domain.PlayMusicAlbum; import com.galaxy.meetup.server.client.domain.PlayMusicTrack; /** * * @author sihai * */ public class DbEmbedSkyjam extends DbSerializer { protected String mAlbum; protected String mArtist; protected String mImageUrl; protected String mMarketUrl; protected String mPreviewUrl; protected String mSong; protected DbEmbedSkyjam() { } public DbEmbedSkyjam(PlayMusicAlbum playmusicalbum) { mArtist = playmusicalbum.byArtist.name; mAlbum = playmusicalbum.name; mImageUrl = playmusicalbum.imageUrl; mMarketUrl = playmusicalbum.offerUrlWithSessionIndex; mPreviewUrl = playmusicalbum.audioUrlWithSessionIndex; } public DbEmbedSkyjam(PlayMusicTrack playmusictrack) { mSong = playmusictrack.name; mArtist = playmusictrack.byArtist.name; mAlbum = playmusictrack.inAlbum.name; mImageUrl = playmusictrack.inAlbum.imageUrl; mMarketUrl = playmusictrack.offerUrlWithSessionIndex; mPreviewUrl = playmusictrack.audioEmbedUrlWithSessionIndex; } public static DbEmbedSkyjam deserialize(byte abyte0[]) { DbEmbedSkyjam dbembedskyjam; if(abyte0 == null) { dbembedskyjam = null; } else { ByteBuffer bytebuffer = ByteBuffer.wrap(abyte0); dbembedskyjam = new DbEmbedSkyjam(); dbembedskyjam.mSong = getShortString(bytebuffer); dbembedskyjam.mArtist = getShortString(bytebuffer); dbembedskyjam.mAlbum = getShortString(bytebuffer); dbembedskyjam.mImageUrl = getShortString(bytebuffer); dbembedskyjam.mMarketUrl = getShortString(bytebuffer); dbembedskyjam.mPreviewUrl = getShortString(bytebuffer); } return dbembedskyjam; } private static byte[] serialize(DbEmbedSkyjam dbembedskyjam) throws IOException { ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(256); DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream); putShortString(dataoutputstream, dbembedskyjam.mSong); putShortString(dataoutputstream, dbembedskyjam.mArtist); putShortString(dataoutputstream, dbembedskyjam.mAlbum); putShortString(dataoutputstream, dbembedskyjam.mImageUrl); putShortString(dataoutputstream, dbembedskyjam.mMarketUrl); putShortString(dataoutputstream, dbembedskyjam.mPreviewUrl); byte abyte0[] = bytearrayoutputstream.toByteArray(); dataoutputstream.close(); return abyte0; } public static byte[] serialize(PlayMusicAlbum playmusicalbum) throws IOException { return serialize(new DbEmbedSkyjam(playmusicalbum)); } public static byte[] serialize(PlayMusicTrack playmusictrack) throws IOException { return serialize(new DbEmbedSkyjam(playmusictrack)); } public final String getAlbum() { return mAlbum; } public final String getArtist() { return mArtist; } public final String getImageUrl() { return mImageUrl; } public final String getMarketUrl() { return mMarketUrl; } public final String getPreviewUrl() { return mPreviewUrl; } public final String getSong() { return mSong; } public final boolean isAlbum() { return TextUtils.isEmpty(mSong); } }