package com.asp.radiorake; import android.os.Parcel; import android.os.Parcelable; import com.asp.radiorake.utils.StringUtils; public class RadioDetails implements Parcelable { private long _id; private String _stationName; private String _streamUrl; private String _playlistUrl; private long _duration = 0; private long _recordingType = 0; public RadioDetails(String stationName, String streamUrl, String playlistUrl) { setStationName(stationName); setStreamUrl(streamUrl); setPlaylistUrl(playlistUrl); } public RadioDetails(long id, String stationName, String streamUrl, String playlistUrl) { this(stationName, streamUrl, playlistUrl); this._id = id; } public RadioDetails(String name, String streamUrl, String playlistUrl, long duration, long recordingType) { this(name, streamUrl, playlistUrl); setDuration(duration); setRecordingType(recordingType); } private RadioDetails(Parcel parcel) { setStationName(parcel.readString()); setStreamUrl(parcel.readString()); setPlaylistUrl(parcel.readString()); setDuration(parcel.readLong()); setRecordingType(parcel.readLong()); } public RadioDetails() { setStationName(""); setStreamUrl(""); setPlaylistUrl(""); } public static final Parcelable.Creator<RadioDetails> CREATOR = new Parcelable.Creator<RadioDetails>() { public RadioDetails createFromParcel(Parcel parcel) { return new RadioDetails(parcel); } public RadioDetails[] newArray(int size) { return new RadioDetails[size]; } }; public long getId() { return _id; } public void setId(long id) { _id = id; } public String getStationName() { return StringUtils.IsNullOrEmpty(_stationName) ? _streamUrl : _stationName; } public void setStationName(String stationName) { _stationName = stationName; } public String getStreamUrl() { return _streamUrl; } public void setStreamUrl(String streamUrl) { _streamUrl = streamUrl; } public String getPlaylistUrl() { return _playlistUrl; } public void setPlaylistUrl(String playlistUrl) { _playlistUrl = playlistUrl; } public long getDuration() { return _duration; } public void setDuration(long duration) { _duration = duration; } public void setRecordingType(long type) { _recordingType = type; } public long getRecordingType() { return _recordingType; } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("RadioDetails = { StationName="); sb.append(getStationName()); sb.append(", StreamUrl="); sb.append(getStreamUrl()); sb.append(", PlaylistUrl="); sb.append(getPlaylistUrl()); sb.append(", Duration="); sb.append(getDuration()); sb.append(", RecordingType="); sb.append(getRecordingType()); sb.append(" }"); return sb.toString(); } public int describeContents() { return 0; } public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(getStationName()); parcel.writeString(getStreamUrl()); parcel.writeString(getPlaylistUrl()); parcel.writeLong(getDuration()); parcel.writeLong(getRecordingType()); } }