// Path: chapter7-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/crime/Crime.java
// public class Crime {
//     private UUID id;
//     private String title;
// 
//     public Crime() {
//         id = UUID.randomUUID();
//     }
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/crimes/CrimeListView.java
// public interface CrimeListView {
//     void setCrimes(List<Crime> crimes);
//     void showCrimeMessage(String crimeTitle);
// 
//     void whenCrimeSelected(DataEventListener<UUID> listener);
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/event/DataEvent.java
// public class DataEvent<T> {
//     private List<DataEventListener<T>> listeners = new ArrayList<>();
// 
//     public void addListener(DataEventListener<T> listener) {
//         listeners.add(listener);
//     }
// 
//     public void dispatch(T data) {
//         for (DataEventListener<T> listener : listeners) {
//             listener.onDispatch(data);
//         }
//     }
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/event/DataEventListener.java
// public interface DataEventListener<T> {
//     void onDispatch(T data);
// }


import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import com.olerass.pfexample.android.criminalintent.R;
import com.olerass.pfexample.android.criminalintent.domain.crime.Crime;
import com.olerass.pfexample.android.criminalintent.domain.crimes.CrimeListView;
import com.olerass.pfexample.android.criminalintent.domain.event.DataEvent;
import com.olerass.pfexample.android.criminalintent.domain.event.DataEventListener;
import java.util.List;
import java.util.UUID;
package com.olerass.pfexample.android.criminalintent.platform.crimes;




public class FragmentCrimeListView implements CrimeListView {
    private View view;
    private RecyclerView crimeRecyclerView;
// Path: chapter7-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/crime/Crime.java
// public class Crime {
//     private UUID id;
//     private String title;
// 
//     public Crime() {
//         id = UUID.randomUUID();
//     }
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/crimes/CrimeListView.java
// public interface CrimeListView {
//     void setCrimes(List<Crime> crimes);
//     void showCrimeMessage(String crimeTitle);
// 
//     void whenCrimeSelected(DataEventListener<UUID> listener);
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/event/DataEvent.java
// public class DataEvent<T> {
//     private List<DataEventListener<T>> listeners = new ArrayList<>();
// 
//     public void addListener(DataEventListener<T> listener) {
//         listeners.add(listener);
//     }
// 
//     public void dispatch(T data) {
//         for (DataEventListener<T> listener : listeners) {
//             listener.onDispatch(data);
//         }
//     }
// }
// 
// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/domain/event/DataEventListener.java
// public interface DataEventListener<T> {
//     void onDispatch(T data);
// }


// Path: chapter9-criminalintent/app/src/main/java/com/olerass/pfexample/android/criminalintent/platform/crimes/FragmentCrimeListView.java
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import com.olerass.pfexample.android.criminalintent.R;
import com.olerass.pfexample.android.criminalintent.domain.crime.Crime;
import com.olerass.pfexample.android.criminalintent.domain.crimes.CrimeListView;
import com.olerass.pfexample.android.criminalintent.domain.event.DataEvent;
import com.olerass.pfexample.android.criminalintent.domain.event.DataEventListener;
import java.util.List;
import java.util.UUID;

package com.olerass.pfexample.android.criminalintent.platform.crimes;




public class FragmentCrimeListView implements CrimeListView {
    private View view;
    private RecyclerView crimeRecyclerView;
    private DataEvent<UUID> crimeSelectedEvent = new DataEvent<>();