// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/abstractions/Bus.java
// public interface Bus {
//   void post(Object object);
//   void postInmediate(Object object);
//   void register(Object object);
//   void unregister(Object object);
// }
// 
// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/interactors/InteractorInvoker.java
// public interface InteractorInvoker {
//   void execute(Interactor interactor);
//   void execute(Interactor interactor, InteractorPriority priority);
// }
// 
// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/interactors/main/InsertContactsIntoDataBaseInteractor.java
// public class InsertContactsIntoDataBaseInteractor implements Interactor {
// 
//   private Contact contact;
//   private ContactsRepository contactsRepository;
//   private Bus bus;
// 
//   public InsertContactsIntoDataBaseInteractor(Bus bus,ContactsRepository contactsRepository) {
//     this.bus = bus;
//     this.contactsRepository = contactsRepository;
//   }
// 
//   @Override public void execute() throws Throwable {
//     contactsRepository.insertContact(contact);
//   }
// 
//   public void setContact(Contact contact) {
//     this.contact = contact;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/Presenter.java
// public abstract class Presenter {
//    public abstract void onResume();
//    public abstract void onPause();
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/mappers/PresentationContactMapper.java
// public class PresentationContactMapper {
// 
//   public Contact presentationContactToContact(PresentationContact presentationContact){
//     Contact contact = new Contact();
//     contact.setIdContact(presentationContact.getIdContact());
//     contact.setFirstName(presentationContact.getFirstName());
//     contact.setLastName(presentationContact.getLastName());
//     contact.setEmail(presentationContact.getEmail());
//     contact.setPhone(presentationContact.getPhone());
//     return contact;
//   }
// 
//   public PresentationContact contactToPresentationContact(Contact contact){
//     PresentationContact presentationContact = new PresentationContact();
//     presentationContact.setIdContact(contact.getIdContact());
//     presentationContact.setFirstName(contact.getFirstName());
//     presentationContact.setLastName(contact.getLastName());
//     presentationContact.setEmail(contact.getEmail());
//     presentationContact.setPhone(contact.getPhone());
//     return presentationContact;
//   }
// 
//   public List<PresentationContact> ContactsListToPresentationContactList(List<Contact> contactList){
//     List<PresentationContact> presentationContactList = new ArrayList<>();
// 
//     for (Contact contact : contactList) {
//       PresentationContact presentationContact = contactToPresentationContact(contact);
//       presentationContactList.add(presentationContact);
//     }
//     return presentationContactList;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/model/PresentationContact.java
// public class PresentationContact {
// 
//   private int idContact;
//   private String firstName;
//   private String lastName;
//   private int phone;
//   private String email;
// 
//   public int getIdContact() {
//     return idContact;
//   }
// 
//   public void setIdContact(int idContact) {
//     this.idContact = idContact;
//   }
// 
//   public String getFirstName() {
//     return firstName;
//   }
// 
//   public void setFirstName(String firstName) {
//     this.firstName = firstName;
//   }
// 
//   public String getLastName() {
//     return lastName;
//   }
// 
//   public void setLastName(String lastName) {
//     this.lastName = lastName;
//   }
// 
//   public int getPhone() {
//     return phone;
//   }
// 
//   public void setPhone(int phone) {
//     this.phone = phone;
//   }
// 
//   public String getEmail() {
//     return email;
//   }
// 
//   public void setEmail(String email) {
//     this.email = email;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/main/MainView.java
// public interface MainView {
//   void showLoader();
//   void hideLoader();
//   void loadContacts(List<PresentationContact> contactList);
// }


import sergio.vasco.androidforexample.domain.abstractions.Bus;
import sergio.vasco.androidforexample.domain.interactors.InteractorInvoker;
import sergio.vasco.androidforexample.domain.interactors.main.InsertContactsIntoDataBaseInteractor;
import sergio.vasco.androidforexample.presentation.Presenter;
import sergio.vasco.androidforexample.presentation.mappers.PresentationContactMapper;
import sergio.vasco.androidforexample.presentation.model.PresentationContact;
import sergio.vasco.androidforexample.presentation.sections.main.MainView;
package sergio.vasco.androidforexample.presentation.sections.profile;


/**
 * Name: Sergio Vasco
 * Date: 29/1/16.
 */
public class ProfilePresenter extends Presenter {
  private ProfileView view;
  private Bus bus;
// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/abstractions/Bus.java
// public interface Bus {
//   void post(Object object);
//   void postInmediate(Object object);
//   void register(Object object);
//   void unregister(Object object);
// }
// 
// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/interactors/InteractorInvoker.java
// public interface InteractorInvoker {
//   void execute(Interactor interactor);
//   void execute(Interactor interactor, InteractorPriority priority);
// }
// 
// Path: domain/src/main/java/sergio/vasco/androidforexample/domain/interactors/main/InsertContactsIntoDataBaseInteractor.java
// public class InsertContactsIntoDataBaseInteractor implements Interactor {
// 
//   private Contact contact;
//   private ContactsRepository contactsRepository;
//   private Bus bus;
// 
//   public InsertContactsIntoDataBaseInteractor(Bus bus,ContactsRepository contactsRepository) {
//     this.bus = bus;
//     this.contactsRepository = contactsRepository;
//   }
// 
//   @Override public void execute() throws Throwable {
//     contactsRepository.insertContact(contact);
//   }
// 
//   public void setContact(Contact contact) {
//     this.contact = contact;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/Presenter.java
// public abstract class Presenter {
//    public abstract void onResume();
//    public abstract void onPause();
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/mappers/PresentationContactMapper.java
// public class PresentationContactMapper {
// 
//   public Contact presentationContactToContact(PresentationContact presentationContact){
//     Contact contact = new Contact();
//     contact.setIdContact(presentationContact.getIdContact());
//     contact.setFirstName(presentationContact.getFirstName());
//     contact.setLastName(presentationContact.getLastName());
//     contact.setEmail(presentationContact.getEmail());
//     contact.setPhone(presentationContact.getPhone());
//     return contact;
//   }
// 
//   public PresentationContact contactToPresentationContact(Contact contact){
//     PresentationContact presentationContact = new PresentationContact();
//     presentationContact.setIdContact(contact.getIdContact());
//     presentationContact.setFirstName(contact.getFirstName());
//     presentationContact.setLastName(contact.getLastName());
//     presentationContact.setEmail(contact.getEmail());
//     presentationContact.setPhone(contact.getPhone());
//     return presentationContact;
//   }
// 
//   public List<PresentationContact> ContactsListToPresentationContactList(List<Contact> contactList){
//     List<PresentationContact> presentationContactList = new ArrayList<>();
// 
//     for (Contact contact : contactList) {
//       PresentationContact presentationContact = contactToPresentationContact(contact);
//       presentationContactList.add(presentationContact);
//     }
//     return presentationContactList;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/model/PresentationContact.java
// public class PresentationContact {
// 
//   private int idContact;
//   private String firstName;
//   private String lastName;
//   private int phone;
//   private String email;
// 
//   public int getIdContact() {
//     return idContact;
//   }
// 
//   public void setIdContact(int idContact) {
//     this.idContact = idContact;
//   }
// 
//   public String getFirstName() {
//     return firstName;
//   }
// 
//   public void setFirstName(String firstName) {
//     this.firstName = firstName;
//   }
// 
//   public String getLastName() {
//     return lastName;
//   }
// 
//   public void setLastName(String lastName) {
//     this.lastName = lastName;
//   }
// 
//   public int getPhone() {
//     return phone;
//   }
// 
//   public void setPhone(int phone) {
//     this.phone = phone;
//   }
// 
//   public String getEmail() {
//     return email;
//   }
// 
//   public void setEmail(String email) {
//     this.email = email;
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/main/MainView.java
// public interface MainView {
//   void showLoader();
//   void hideLoader();
//   void loadContacts(List<PresentationContact> contactList);
// }


// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/profile/ProfilePresenter.java
import sergio.vasco.androidforexample.domain.abstractions.Bus;
import sergio.vasco.androidforexample.domain.interactors.InteractorInvoker;
import sergio.vasco.androidforexample.domain.interactors.main.InsertContactsIntoDataBaseInteractor;
import sergio.vasco.androidforexample.presentation.Presenter;
import sergio.vasco.androidforexample.presentation.mappers.PresentationContactMapper;
import sergio.vasco.androidforexample.presentation.model.PresentationContact;
import sergio.vasco.androidforexample.presentation.sections.main.MainView;

package sergio.vasco.androidforexample.presentation.sections.profile;


/**
 * Name: Sergio Vasco
 * Date: 29/1/16.
 */
public class ProfilePresenter extends Presenter {
  private ProfileView view;
  private Bus bus;
  private InteractorInvoker interactorInvoker;