// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/CrashViewModel.java
// public class CrashViewModel {
//   private Crash crash;
//   private AppInfoViewModel appInfoViewModel;
// 
//   public CrashViewModel() {
//   }
// 
//   public CrashViewModel(Crash crash) {
//     populate(crash);
//   }
// 
//   public String getPlace() {
//     String[] placeTrail = crash.getPlace().split("\\.");
//     return placeTrail[placeTrail.length - 1];
//   }
// 
//   public String getExactLocationOfCrash() {
//     return crash.getPlace();
//   }
// 
//   public String getReasonOfCrash() {
//     return crash.getReason();
//   }
// 
//   public String getStackTrace() {
//     return crash.getStackTrace();
//   }
// 
//   public String getCrashInfo() {
//     StringBuilder crashInfo = new StringBuilder();
//     crashInfo.append("Device Info:\n");
// 
//     crashInfo.append("Name: ");
//     crashInfo.append(getDeviceName() + "\n");
// 
//     crashInfo.append("Brand: ");
//     crashInfo.append(getDeviceBrand() + "\n");
// 
//     crashInfo.append("Android API: ");
//     crashInfo.append(getDeviceAndroidApiVersion() + "\n\n");
// 
//     crashInfo.append("App Info:\n");
//     crashInfo.append(getAppInfoViewModel().getDetails());
//     crashInfo.append("\n");
// 
//     crashInfo.append("StackTrace:\n");
//     crashInfo.append(getStackTrace() + "\n");
// 
//     return crashInfo.toString();
//   }
// 
//   public String getDeviceManufacturer() {
//     return crash.getDeviceInfo().getManufacturer();
//   }
// 
//   public String getDeviceName() {
//     return crash.getDeviceInfo().getName();
//   }
// 
//   public String getDeviceAndroidApiVersion() {
//     return crash.getDeviceInfo().getSdk();
//   }
// 
//   public String getDeviceBrand() {
//     return crash.getDeviceInfo().getBrand();
//   }
// 
//   public AppInfoViewModel getAppInfoViewModel() {
//     return appInfoViewModel;
//   }
// 
//   public int getIdentifier() {
//     return crash.getId();
//   }
// 
//   public String getDate() {
//     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a EEE, MMM d, yyyy");
//     return simpleDateFormat.format(crash.getDate());
//   }
// 
//   public void populate(Crash crash) {
//     this.crash = crash;
//     this.appInfoViewModel = new AppInfoViewModel(crash.getAppInfo());
//   }
// }
// 
// Path: sherlock/src/main/java/com/singhajit/sherlock/crashes/presenter/CrashListPresenter.java
// public class CrashListPresenter {
//   private final CrashListActions actions;
// 
//   public CrashListPresenter(CrashListActions actions) {
//     this.actions = actions;
//   }
// 
//   public void render(SherlockDatabaseHelper database) {
//     List<Crash> crashes = database.getCrashes();
//     ArrayList<CrashViewModel> crashViewModels = new ArrayList<>();
//     for (Crash crash : crashes) {
//       crashViewModels.add(new CrashViewModel(crash));
//     }
//     actions.render(new CrashesViewModel(crashViewModels));
//   }
// 
//   public void onCrashClicked(CrashViewModel viewModel) {
//     actions.openCrashDetails(viewModel.getIdentifier());
//   }
// }


import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.singhajit.sherlock.R;
import com.singhajit.sherlock.core.investigation.CrashViewModel;
import com.singhajit.sherlock.crashes.presenter.CrashListPresenter;
import java.util.List;
package com.singhajit.sherlock.crashes.adapter;




public class CrashAdapter extends RecyclerView.Adapter<CrashViewHolder> {
  private final List<CrashViewModel> crashes;
// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/CrashViewModel.java
// public class CrashViewModel {
//   private Crash crash;
//   private AppInfoViewModel appInfoViewModel;
// 
//   public CrashViewModel() {
//   }
// 
//   public CrashViewModel(Crash crash) {
//     populate(crash);
//   }
// 
//   public String getPlace() {
//     String[] placeTrail = crash.getPlace().split("\\.");
//     return placeTrail[placeTrail.length - 1];
//   }
// 
//   public String getExactLocationOfCrash() {
//     return crash.getPlace();
//   }
// 
//   public String getReasonOfCrash() {
//     return crash.getReason();
//   }
// 
//   public String getStackTrace() {
//     return crash.getStackTrace();
//   }
// 
//   public String getCrashInfo() {
//     StringBuilder crashInfo = new StringBuilder();
//     crashInfo.append("Device Info:\n");
// 
//     crashInfo.append("Name: ");
//     crashInfo.append(getDeviceName() + "\n");
// 
//     crashInfo.append("Brand: ");
//     crashInfo.append(getDeviceBrand() + "\n");
// 
//     crashInfo.append("Android API: ");
//     crashInfo.append(getDeviceAndroidApiVersion() + "\n\n");
// 
//     crashInfo.append("App Info:\n");
//     crashInfo.append(getAppInfoViewModel().getDetails());
//     crashInfo.append("\n");
// 
//     crashInfo.append("StackTrace:\n");
//     crashInfo.append(getStackTrace() + "\n");
// 
//     return crashInfo.toString();
//   }
// 
//   public String getDeviceManufacturer() {
//     return crash.getDeviceInfo().getManufacturer();
//   }
// 
//   public String getDeviceName() {
//     return crash.getDeviceInfo().getName();
//   }
// 
//   public String getDeviceAndroidApiVersion() {
//     return crash.getDeviceInfo().getSdk();
//   }
// 
//   public String getDeviceBrand() {
//     return crash.getDeviceInfo().getBrand();
//   }
// 
//   public AppInfoViewModel getAppInfoViewModel() {
//     return appInfoViewModel;
//   }
// 
//   public int getIdentifier() {
//     return crash.getId();
//   }
// 
//   public String getDate() {
//     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a EEE, MMM d, yyyy");
//     return simpleDateFormat.format(crash.getDate());
//   }
// 
//   public void populate(Crash crash) {
//     this.crash = crash;
//     this.appInfoViewModel = new AppInfoViewModel(crash.getAppInfo());
//   }
// }
// 
// Path: sherlock/src/main/java/com/singhajit/sherlock/crashes/presenter/CrashListPresenter.java
// public class CrashListPresenter {
//   private final CrashListActions actions;
// 
//   public CrashListPresenter(CrashListActions actions) {
//     this.actions = actions;
//   }
// 
//   public void render(SherlockDatabaseHelper database) {
//     List<Crash> crashes = database.getCrashes();
//     ArrayList<CrashViewModel> crashViewModels = new ArrayList<>();
//     for (Crash crash : crashes) {
//       crashViewModels.add(new CrashViewModel(crash));
//     }
//     actions.render(new CrashesViewModel(crashViewModels));
//   }
// 
//   public void onCrashClicked(CrashViewModel viewModel) {
//     actions.openCrashDetails(viewModel.getIdentifier());
//   }
// }


// Path: sherlock/src/main/java/com/singhajit/sherlock/crashes/adapter/CrashAdapter.java
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.singhajit.sherlock.R;
import com.singhajit.sherlock.core.investigation.CrashViewModel;
import com.singhajit.sherlock.crashes.presenter.CrashListPresenter;
import java.util.List;

package com.singhajit.sherlock.crashes.adapter;




public class CrashAdapter extends RecyclerView.Adapter<CrashViewHolder> {
  private final List<CrashViewModel> crashes;
  private final CrashListPresenter presenter;