// Path: app/src/main/java/com/sanchez/fmf/event/MarketClickEvent.java
// public class MarketClickEvent {
//     private final View market;
// 
//     public MarketClickEvent(View market) {
//         this.market = market;
//     }
// 
//     public View getMarket() {
//         return market;
//     }
// }
// 
// Path: app/src/main/java/com/sanchez/fmf/model/MarketListItemModel.java
// public class MarketListItemModel {
// 
//     private String fmid;
//     private String market_name;
//     private String distance;
//     private String uri;
//     private double x;
//     private double y;
// 
//     public MarketListItemModel() {
//     }
// 
//     public String getId() {
//         return fmid;
//     }
// 
//     public void setId(String id) {
//         this.fmid = fmid;
//     }
// 
//     public String getName() {
//         return market_name;
//     }
// 
//     public void setName(String market_name) {
//         this.market_name = market_name;
//     }
// 
// 
//     public String getDistance() {
//         return distance;
//     }
// 
//     public void setDistance(String distance) {
//         this.distance = distance;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public double getX() {
//         return x;
//     }
// 
//     public void setX(double x) {
//         this.x = x;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public void setY(double y) {
//         this.y = y;
//     }
// }
// 
// Path: app/src/main/java/com/sanchez/fmf/util/MarketUtils.java
// public class MarketUtils {
// 
//     private static final Random RANDOM = new Random();
// 
//     // Non-instantiatable class
//     private MarketUtils() {
//     }
// 
//     public static double haversine(double lat1, double lon1, double lat2, double lon2) {
//         double dLat = Math.toRadians(lat2 - lat1);
//         double dLon = Math.toRadians(lon2 - lon1);
//         lat1 = Math.toRadians(lat1);
//         lat2 = Math.toRadians(lat2);
// 
//         double a = Math.pow(Math.sin(dLat / 2),2) + Math.pow(Math.sin(dLon / 2),2) * Math.cos(lat1) * Math.cos(lat2);
//         double c = 2 * Math.asin(Math.sqrt(a));
//         double radius = 3959; // miles
//         return radius * c;
//     }
// 
//     public static int getRandomMarketColor() {
// 
//         switch (RANDOM.nextInt(5)) {
//             default:
//             case 0:
//                 return R.color.market_blue;
//             case 1:
//                 return R.color.market_red;
//             case 2:
//                 return R.color.market_green;
//             case 3:
//                 return R.color.market_orange;
//             case 4:
//                 return R.color.market_pink;
//         }
//     }
// 
//     public static int getRandomMarketDrawable() {
//         switch (RANDOM.nextInt(4)) {
//             default:
//             case 0:
//                 return R.drawable.market_1;
//             case 1:
//                 return R.drawable.market_2;
//             case 2:
//                 return R.drawable.market_3;
//             case 3:
//                 return R.drawable.market_4;
//         }
//     }
// }


import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.sanchez.fmf.R;
import com.sanchez.fmf.event.MarketClickEvent;
import com.sanchez.fmf.model.MarketListItemModel;
import com.sanchez.fmf.util.MarketUtils;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import de.greenrobot.event.EventBus;
package com.sanchez.fmf.adapter;





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

    private ArrayList<MarketListItemModel> mDataset;
    private boolean mDisplayDistance;

    public MarketListAdapter(ArrayList<MarketListItemModel> dataset, boolean displayDistance) {
        mDataset = dataset;
        mDisplayDistance = displayDistance;
    }

    // Create new views (invoked by the layout manager)
    @Override
    public MarketListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.row_card_market, parent, false);

// Path: app/src/main/java/com/sanchez/fmf/event/MarketClickEvent.java
// public class MarketClickEvent {
//     private final View market;
// 
//     public MarketClickEvent(View market) {
//         this.market = market;
//     }
// 
//     public View getMarket() {
//         return market;
//     }
// }
// 
// Path: app/src/main/java/com/sanchez/fmf/model/MarketListItemModel.java
// public class MarketListItemModel {
// 
//     private String fmid;
//     private String market_name;
//     private String distance;
//     private String uri;
//     private double x;
//     private double y;
// 
//     public MarketListItemModel() {
//     }
// 
//     public String getId() {
//         return fmid;
//     }
// 
//     public void setId(String id) {
//         this.fmid = fmid;
//     }
// 
//     public String getName() {
//         return market_name;
//     }
// 
//     public void setName(String market_name) {
//         this.market_name = market_name;
//     }
// 
// 
//     public String getDistance() {
//         return distance;
//     }
// 
//     public void setDistance(String distance) {
//         this.distance = distance;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public double getX() {
//         return x;
//     }
// 
//     public void setX(double x) {
//         this.x = x;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public void setY(double y) {
//         this.y = y;
//     }
// }
// 
// Path: app/src/main/java/com/sanchez/fmf/util/MarketUtils.java
// public class MarketUtils {
// 
//     private static final Random RANDOM = new Random();
// 
//     // Non-instantiatable class
//     private MarketUtils() {
//     }
// 
//     public static double haversine(double lat1, double lon1, double lat2, double lon2) {
//         double dLat = Math.toRadians(lat2 - lat1);
//         double dLon = Math.toRadians(lon2 - lon1);
//         lat1 = Math.toRadians(lat1);
//         lat2 = Math.toRadians(lat2);
// 
//         double a = Math.pow(Math.sin(dLat / 2),2) + Math.pow(Math.sin(dLon / 2),2) * Math.cos(lat1) * Math.cos(lat2);
//         double c = 2 * Math.asin(Math.sqrt(a));
//         double radius = 3959; // miles
//         return radius * c;
//     }
// 
//     public static int getRandomMarketColor() {
// 
//         switch (RANDOM.nextInt(5)) {
//             default:
//             case 0:
//                 return R.color.market_blue;
//             case 1:
//                 return R.color.market_red;
//             case 2:
//                 return R.color.market_green;
//             case 3:
//                 return R.color.market_orange;
//             case 4:
//                 return R.color.market_pink;
//         }
//     }
// 
//     public static int getRandomMarketDrawable() {
//         switch (RANDOM.nextInt(4)) {
//             default:
//             case 0:
//                 return R.drawable.market_1;
//             case 1:
//                 return R.drawable.market_2;
//             case 2:
//                 return R.drawable.market_3;
//             case 3:
//                 return R.drawable.market_4;
//         }
//     }
// }


// Path: app/src/main/java/com/sanchez/fmf/adapter/MarketListAdapter.java
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.sanchez.fmf.R;
import com.sanchez.fmf.event.MarketClickEvent;
import com.sanchez.fmf.model.MarketListItemModel;
import com.sanchez.fmf.util.MarketUtils;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import de.greenrobot.event.EventBus;

package com.sanchez.fmf.adapter;





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

    private ArrayList<MarketListItemModel> mDataset;
    private boolean mDisplayDistance;

    public MarketListAdapter(ArrayList<MarketListItemModel> dataset, boolean displayDistance) {
        mDataset = dataset;
        mDisplayDistance = displayDistance;
    }

    // Create new views (invoked by the layout manager)
    @Override
    public MarketListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.row_card_market, parent, false);

        view.setOnClickListener((v) -> EventBus.getDefault().post(new MarketClickEvent(v)));