// Path: MensaApp/src/main/java/de/lukasniemeier/mensa/utils/SerializableTime.java
// public class SerializableTime implements Comparable<SerializableTime>, Serializable {
// 
//     private static Time toTime(Date date) {
//         Time time = new Time();
//         time.set(date.getTime());
//         return time;
//     }
// 
//     private Time timestamp;
// 
//     public SerializableTime(Time timestamp) {
//         this.timestamp = timestamp;
//     }
// 
//     public SerializableTime(Date date) {
//         this(toTime(date));
//     }
// 
//     public Time getTime() {
//         return timestamp;
//     }
// 
//     private void writeObject(java.io.ObjectOutputStream out)
//             throws IOException {
//         out.writeObject(timestamp.toMillis(false));
//     }
// 
//     private void readObject(java.io.ObjectInputStream in)
//             throws IOException, ClassNotFoundException {
//         long ms = (Long) in.readObject();
//         this.timestamp = new Time();
//         this.timestamp.set(ms);
//     }
// 
//     public long toMillis() {
//         return timestamp.toMillis(false);
//     }
// 
//     public int getYearDay() {
//         return timestamp.yearDay;
//     }
// 
//     public int getYear() {
//         return timestamp.year;
//     }
// 
//     public Date toDate() {
//         return new Date(toMillis());
//     }
// 
//     @Override
//     public int compareTo(SerializableTime other) {
//         return Time.compare(this.getTime(), other.getTime());
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         SerializableTime that = (SerializableTime) o;
//         return timestamp.toMillis(false) == that.timestamp.toMillis(false);
//     }
// 
//     @Override
//     public int hashCode() {
//         long ht = timestamp.toMillis(false);
//         return (int) ht ^ (int) (ht >> 32);
//     }
// }
// 
// Path: MensaApp/src/main/java/de/lukasniemeier/mensa/utils/Utils.java
// public class Utils {
// 
//     private static final DateFormat defaultMenuDateFormat = new SimpleDateFormat("c, d.MM");
// 
//     public static String formatDate(Context context, SerializableTime time) {
//         return formatDate(context, time, defaultMenuDateFormat);
//     }
// 
//     public static String formatDate(Context context, SerializableTime time, DateFormat format) {
//         if (DateUtils.isToday(time.toMillis())) {
//             return context.getString(R.string.today);
//         } else if(DateUtils.isToday(time.toMillis() - 1000 * 60 * 60 * 24)) {
//             return context.getString(R.string.tomorrow);
//         } else {
//             return format.format(time.toDate());
//         }
//     }
// 
//     public static SerializableTime today() {
//         Calendar today = Calendar.getInstance();
//         today.set(Calendar.HOUR, 0);
//         today.set(Calendar.MINUTE, 0);
//         today.set(Calendar.SECOND, 0);
//         today.set(Calendar.MILLISECOND, 0);
//         return new SerializableTime(today.getTime());
//     }
// 
//     public static SerializableTime now() {
//         Time now = new Time();
//         now.setToNow();
//         return new SerializableTime(now);
//     }
// 
//     public static void restartApp(Activity context) {
//         Intent i = context.getBaseContext().getPackageManager().getLaunchIntentForPackage(context.getBaseContext().getPackageName());
//         i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//         context.startActivity(i);
//     }
// 
//     public static int dpToPx(Context context, int dp) {
//         float density = context.getResources().getDisplayMetrics().density;
//         return (int)(dp * density);
//     }
// 
//     private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
// 
//     /**
//      * Generate a value suitable for use in {@link android.view.View#setId(int)}.
//      * This value will not collide with ID values generated at build time by aapt for R.id.
//      *
//      * @return a generated ID value
//      */
//     public static int generateViewId() {
//         for (;;) {
//             final int result = sNextGeneratedId.get();
//             // aapt-generated IDs have the high byte nonzero; clamp to the range under that.
//             int newValue = result + 1;
//             if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
//             if (sNextGeneratedId.compareAndSet(result, newValue)) {
//                 return result;
//             }
//         }
//     }
// }


import android.text.format.Time;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import de.lukasniemeier.mensa.utils.SerializableTime;
import de.lukasniemeier.mensa.utils.Utils;
package de.lukasniemeier.mensa.model;





/**
 * Created on 17.09.13.
 */
public class WeeklyMenu implements Serializable {

    private final Mensa mensa;
// Path: MensaApp/src/main/java/de/lukasniemeier/mensa/utils/SerializableTime.java
// public class SerializableTime implements Comparable<SerializableTime>, Serializable {
// 
//     private static Time toTime(Date date) {
//         Time time = new Time();
//         time.set(date.getTime());
//         return time;
//     }
// 
//     private Time timestamp;
// 
//     public SerializableTime(Time timestamp) {
//         this.timestamp = timestamp;
//     }
// 
//     public SerializableTime(Date date) {
//         this(toTime(date));
//     }
// 
//     public Time getTime() {
//         return timestamp;
//     }
// 
//     private void writeObject(java.io.ObjectOutputStream out)
//             throws IOException {
//         out.writeObject(timestamp.toMillis(false));
//     }
// 
//     private void readObject(java.io.ObjectInputStream in)
//             throws IOException, ClassNotFoundException {
//         long ms = (Long) in.readObject();
//         this.timestamp = new Time();
//         this.timestamp.set(ms);
//     }
// 
//     public long toMillis() {
//         return timestamp.toMillis(false);
//     }
// 
//     public int getYearDay() {
//         return timestamp.yearDay;
//     }
// 
//     public int getYear() {
//         return timestamp.year;
//     }
// 
//     public Date toDate() {
//         return new Date(toMillis());
//     }
// 
//     @Override
//     public int compareTo(SerializableTime other) {
//         return Time.compare(this.getTime(), other.getTime());
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         SerializableTime that = (SerializableTime) o;
//         return timestamp.toMillis(false) == that.timestamp.toMillis(false);
//     }
// 
//     @Override
//     public int hashCode() {
//         long ht = timestamp.toMillis(false);
//         return (int) ht ^ (int) (ht >> 32);
//     }
// }
// 
// Path: MensaApp/src/main/java/de/lukasniemeier/mensa/utils/Utils.java
// public class Utils {
// 
//     private static final DateFormat defaultMenuDateFormat = new SimpleDateFormat("c, d.MM");
// 
//     public static String formatDate(Context context, SerializableTime time) {
//         return formatDate(context, time, defaultMenuDateFormat);
//     }
// 
//     public static String formatDate(Context context, SerializableTime time, DateFormat format) {
//         if (DateUtils.isToday(time.toMillis())) {
//             return context.getString(R.string.today);
//         } else if(DateUtils.isToday(time.toMillis() - 1000 * 60 * 60 * 24)) {
//             return context.getString(R.string.tomorrow);
//         } else {
//             return format.format(time.toDate());
//         }
//     }
// 
//     public static SerializableTime today() {
//         Calendar today = Calendar.getInstance();
//         today.set(Calendar.HOUR, 0);
//         today.set(Calendar.MINUTE, 0);
//         today.set(Calendar.SECOND, 0);
//         today.set(Calendar.MILLISECOND, 0);
//         return new SerializableTime(today.getTime());
//     }
// 
//     public static SerializableTime now() {
//         Time now = new Time();
//         now.setToNow();
//         return new SerializableTime(now);
//     }
// 
//     public static void restartApp(Activity context) {
//         Intent i = context.getBaseContext().getPackageManager().getLaunchIntentForPackage(context.getBaseContext().getPackageName());
//         i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//         context.startActivity(i);
//     }
// 
//     public static int dpToPx(Context context, int dp) {
//         float density = context.getResources().getDisplayMetrics().density;
//         return (int)(dp * density);
//     }
// 
//     private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
// 
//     /**
//      * Generate a value suitable for use in {@link android.view.View#setId(int)}.
//      * This value will not collide with ID values generated at build time by aapt for R.id.
//      *
//      * @return a generated ID value
//      */
//     public static int generateViewId() {
//         for (;;) {
//             final int result = sNextGeneratedId.get();
//             // aapt-generated IDs have the high byte nonzero; clamp to the range under that.
//             int newValue = result + 1;
//             if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
//             if (sNextGeneratedId.compareAndSet(result, newValue)) {
//                 return result;
//             }
//         }
//     }
// }


// Path: MensaApp/src/main/java/de/lukasniemeier/mensa/model/WeeklyMenu.java
import android.text.format.Time;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import de.lukasniemeier.mensa.utils.SerializableTime;
import de.lukasniemeier.mensa.utils.Utils;

package de.lukasniemeier.mensa.model;





/**
 * Created on 17.09.13.
 */
public class WeeklyMenu implements Serializable {

    private final Mensa mensa;
    private SerializableTime timestamp;