package com.lq.entity;
import com.lq.util.StringHelper;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
/**
* @author lq 2013-6-1 lq2625304@gmail.com
* */
public class TrackInfo implements Parcelable {
/** 在MedieStore存储的主键 */
private long id;
/** 不带扩展名的文件名 */
private String title;
/** 文件名 */
private String display_name;
/** 专辑名,一般为文件夹名 */
private String album;
/** 艺术家 */
private String artist;
/** 文件的绝对路径 */
private String data;
/** 文件大小,单位为 byte */
private long size;
/** 时长 */
private long duration;
/** 歌曲标题索引,用来搜索、排序用 */
private String title_key;
/** 艺术家名称索引,用来搜索、排序用 */
private String artist_key;
public TrackInfo() {
}
public String getArtistKey() {
return artist_key;
}
public String getTitleKey() {
return title_key;
}
@Override
public boolean equals(Object o) {
if (o instanceof TrackInfo) {
TrackInfo object = (TrackInfo) o;
return object.getId() == this.id;
} else {
return super.equals(o);
}
}
@Override
public String toString() {
return "song_id:" + id + ",song_title:" + title;
}
public long getDuration() {
return duration;
}
public void setDuration(long duration) {
this.duration = duration;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
this.title_key = StringHelper.getPingYin(title);
}
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
this.artist_key = StringHelper.getPingYin(artist);
}
public String getDisplayName() {
return display_name;
}
public void setDisplayName(String display_name) {
this.display_name = display_name;
}
@Override
public int describeContents() {
return 0;
}
// 写数据进行保存
@Override
public void writeToParcel(Parcel dest, int flags) {
Bundle bundle = new Bundle();
bundle.putLong("id", id);
bundle.putString("title", title);
bundle.putString("display_name", display_name);
bundle.putString("album", album);
bundle.putString("artist", artist);
bundle.putString("data", data);
bundle.putLong("size", size);
bundle.putLong("duration", duration);
dest.writeBundle(bundle);
}
// 用来创建自定义的Parcelable的对象
public static final Parcelable.Creator<TrackInfo> CREATOR = new Parcelable.Creator<TrackInfo>() {
public TrackInfo createFromParcel(Parcel in) {
return new TrackInfo(in);
}
public TrackInfo[] newArray(int size) {
return new TrackInfo[size];
}
};
// 读数据进行恢复
private TrackInfo(Parcel in) {
Bundle bundle = in.readBundle();
id = bundle.getLong("id");
title = bundle.getString("title");
display_name = bundle.getString("display_name");
album = bundle.getString("album");
artist = bundle.getString("artist");
data = bundle.getString("data");
size = bundle.getLong("size");
duration = bundle.getLong("duration");
}
}