package be.digitalia.fosdem.model; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import android.os.Parcel; import android.os.Parcelable; import be.digitalia.fosdem.utils.DateUtils; public class Day implements Parcelable { private static final DateFormat DAY_DATE_FORMAT = DateUtils.withBelgiumTimeZone(new SimpleDateFormat("EEEE", Locale.US)); private int index; private Date date; public Day() { } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public String getName() { return String.format(Locale.US, "Day %1$d (%2$s)", index, DAY_DATE_FORMAT.format(date)); } public String getShortName() { return DAY_DATE_FORMAT.format(date); } @Override public String toString() { return getName(); } @Override public int hashCode() { return index; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; Day other = (Day) obj; return (index == other.index); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(index); out.writeLong((date == null) ? 0L : date.getTime()); } public static final Parcelable.Creator<Day> CREATOR = new Parcelable.Creator<Day>() { public Day createFromParcel(Parcel in) { return new Day(in); } public Day[] newArray(int size) { return new Day[size]; } }; Day(Parcel in) { index = in.readInt(); long time = in.readLong(); if (time != 0L) { date = new Date(time); } } }