// Path: app/src/main/java/flying/grub/tamtime/data/report/Report.java
// public class Report {
// 
//     private StopZone stop;
//     private ReportType type;
//     private String message;
//     private Calendar date;
//     private int confirm;
//     private int reportId;
// 
//     public Report(StopZone stop, ReportType type, String message, Calendar date, int confirm, int reportId) {
//         this.stop = stop;
//         this.type = type;
//         this.message = message;
//         this.date = date;
//         this.confirm = confirm;
//         this.reportId = reportId;
//         stop.addReport(this);
//     }
// 
//     public Report(StopZone stop, ReportType type, String message) {
//         this.stop = stop;
//         this.type = type;
//         this.message = message;
//     }
// 
//     // Add
//     public void removeFromStop() {
//         this.stop.removeReport(this);
//     }
// 
//     // Get
//     public String getTime() {
//         String timeStr;
//         Calendar now = Calendar.getInstance();
//         int min = (int)((now.getTimeInMillis() - this.date.getTimeInMillis()) / 60000);
// 
//         if (min >= 180) return "+ de 3h";
// 
//         if (min >= 60) {
//             int hour = min /60;
//             min = min % 60;
//             timeStr = hour + "h" + min + "min";
//         } else {
//             timeStr = min + "min";
//         }
//         return timeStr;
//     }
// 
//     public int getReportId() {
//         return reportId;
//     }
// 
//     public int getConfirm() {
//         return this.confirm;
//     }
// 
//     public ReportType getType() {
//         return type;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public StopZone getStop() {
//         return stop;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         Report report = (Report) o;
// 
//         if (stop != null ? !stop.equals(report.stop) : report.stop != null) return false;
//         if (type != report.type) return false;
//         if (message != null ? !message.equals(report.message) : report.message != null)
//             return false;
//         return !(date != null ? !date.equals(report.date) : report.date != null);
// 
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = stop != null ? stop.hashCode() : 0;
//         result = 31 * result + (type != null ? type.hashCode() : 0);
//         result = 31 * result + (message != null ? message.hashCode() : 0);
//         result = 31 * result + (date != null ? date.hashCode() : 0);
//         return result;
//     }
// 
//     public boolean isValid(Calendar now) {
//         return this.date.compareTo(now) > -5400000;
//     }
// 
//     @Override
//     public String toString() {
//         return "Report{" +
//                 "message='" + message + '\'' +
//                 ", type=" + type +
//                 ", tps=" + getTime() +
//                 '}';
//     }
// }
// 
// Path: app/src/main/java/flying/grub/tamtime/data/report/ReportType.java
// public enum ReportType {
//     CONTROLE_Q(1), CONTROLE_T(2), INCIDENT(3), AUTRE(4);
//     private int value;
// 
//     ReportType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//        return this.value;
//     }
// 
//     public static ReportType reportFromId(int id) {
//         switch (id) {
//             case 1:
//                 return ReportType.CONTROLE_Q;
//             case 2:
//                 return ReportType.CONTROLE_T;
//             case 3:
//                 return ReportType.INCIDENT;
//             case 4:
//                 return ReportType.AUTRE;
//             default:
//                 return null;
//         }
//     }
// 
//     public static ReportType reportFromPosition(int pos) {
//         return reportFromId(pos +1);
//     }
// 
//     public int getValueForString() {
//         return this.value -1;
//     }
// }


import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.util.ArrayList;
import flying.grub.tamtime.R;
import flying.grub.tamtime.data.report.Report;
import flying.grub.tamtime.data.report.ReportType;
package flying.grub.tamtime.adapter;




public class ReportAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{

    public OnItemClickListener itemClickListener;

    public static final String TAG = ReportAdapter.class.getSimpleName();

    private static final int TYPE_EXTENDED = 0;
    private static final int TYPE_NORMAL = 1;

    public ArrayList<Report> reports;
    public Context context;

// Path: app/src/main/java/flying/grub/tamtime/data/report/Report.java
// public class Report {
// 
//     private StopZone stop;
//     private ReportType type;
//     private String message;
//     private Calendar date;
//     private int confirm;
//     private int reportId;
// 
//     public Report(StopZone stop, ReportType type, String message, Calendar date, int confirm, int reportId) {
//         this.stop = stop;
//         this.type = type;
//         this.message = message;
//         this.date = date;
//         this.confirm = confirm;
//         this.reportId = reportId;
//         stop.addReport(this);
//     }
// 
//     public Report(StopZone stop, ReportType type, String message) {
//         this.stop = stop;
//         this.type = type;
//         this.message = message;
//     }
// 
//     // Add
//     public void removeFromStop() {
//         this.stop.removeReport(this);
//     }
// 
//     // Get
//     public String getTime() {
//         String timeStr;
//         Calendar now = Calendar.getInstance();
//         int min = (int)((now.getTimeInMillis() - this.date.getTimeInMillis()) / 60000);
// 
//         if (min >= 180) return "+ de 3h";
// 
//         if (min >= 60) {
//             int hour = min /60;
//             min = min % 60;
//             timeStr = hour + "h" + min + "min";
//         } else {
//             timeStr = min + "min";
//         }
//         return timeStr;
//     }
// 
//     public int getReportId() {
//         return reportId;
//     }
// 
//     public int getConfirm() {
//         return this.confirm;
//     }
// 
//     public ReportType getType() {
//         return type;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public StopZone getStop() {
//         return stop;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         Report report = (Report) o;
// 
//         if (stop != null ? !stop.equals(report.stop) : report.stop != null) return false;
//         if (type != report.type) return false;
//         if (message != null ? !message.equals(report.message) : report.message != null)
//             return false;
//         return !(date != null ? !date.equals(report.date) : report.date != null);
// 
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = stop != null ? stop.hashCode() : 0;
//         result = 31 * result + (type != null ? type.hashCode() : 0);
//         result = 31 * result + (message != null ? message.hashCode() : 0);
//         result = 31 * result + (date != null ? date.hashCode() : 0);
//         return result;
//     }
// 
//     public boolean isValid(Calendar now) {
//         return this.date.compareTo(now) > -5400000;
//     }
// 
//     @Override
//     public String toString() {
//         return "Report{" +
//                 "message='" + message + '\'' +
//                 ", type=" + type +
//                 ", tps=" + getTime() +
//                 '}';
//     }
// }
// 
// Path: app/src/main/java/flying/grub/tamtime/data/report/ReportType.java
// public enum ReportType {
//     CONTROLE_Q(1), CONTROLE_T(2), INCIDENT(3), AUTRE(4);
//     private int value;
// 
//     ReportType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//        return this.value;
//     }
// 
//     public static ReportType reportFromId(int id) {
//         switch (id) {
//             case 1:
//                 return ReportType.CONTROLE_Q;
//             case 2:
//                 return ReportType.CONTROLE_T;
//             case 3:
//                 return ReportType.INCIDENT;
//             case 4:
//                 return ReportType.AUTRE;
//             default:
//                 return null;
//         }
//     }
// 
//     public static ReportType reportFromPosition(int pos) {
//         return reportFromId(pos +1);
//     }
// 
//     public int getValueForString() {
//         return this.value -1;
//     }
// }


// Path: app/src/main/java/flying/grub/tamtime/adapter/ReportAdapter.java
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.util.ArrayList;
import flying.grub.tamtime.R;
import flying.grub.tamtime.data.report.Report;
import flying.grub.tamtime.data.report.ReportType;

package flying.grub.tamtime.adapter;




public class ReportAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{

    public OnItemClickListener itemClickListener;

    public static final String TAG = ReportAdapter.class.getSimpleName();

    private static final int TYPE_EXTENDED = 0;
    private static final int TYPE_NORMAL = 1;

    public ArrayList<Report> reports;
    public Context context;

    public ReportAdapter(ArrayList<Report> reports, Context context) {