// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/profile/ProfilePresenter.java
// public class ProfilePresenter extends Presenter {
//   private ProfileView view;
//   private Bus bus;
//   private InteractorInvoker interactorInvoker;
//   private InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor;
//   private PresentationContactMapper presentationContactMapper;
// 
//   public ProfilePresenter(ProfileView view, Bus bus, InteractorInvoker interactorInvoker,
//       InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor,  PresentationContactMapper presentationContactMapper) {
//     this.view = view;
//     this.bus = bus;
//     this.interactorInvoker = interactorInvoker;
//     this.insertContactsIntoDataBaseInteractor = insertContactsIntoDataBaseInteractor;
//     this.presentationContactMapper = presentationContactMapper;
//   }
// 
//   @Override public void onResume() {
//     //bus.register(this);
//   }
// 
//   @Override public void onPause() {
//     //bus.unregister(this);
//   }
// 
//   public void createNewContact(PresentationContact presentationContact){
// 
//     //insertContactsIntoDataBaseInteractor.setContact();
//     interactorInvoker.execute(insertContactsIntoDataBaseInteractor);
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/profile/ProfileView.java
// public interface ProfileView {
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/BaseContactActivity.java
// public abstract class BaseContactActivity<T> extends BaseInjectionActivity<T>{
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/create/di/CreateContactActivityModule.java
// @Module
// public class CreateContactActivityModule {
// 
//   private final CreateContactActivity createContactActivity;
// 
//   public CreateContactActivityModule(CreateContactActivity createContactActivity) {
//     this.createContactActivity = createContactActivity;
//   }
// 
//   @PerActivity @Provides ProfilePresenter provideProfilePresenter(Bus bus, InteractorInvoker interactorInvoker, InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor,  PresentationContactMapper presentationContactMapper){
//     return new ProfilePresenter(createContactActivity,bus,interactorInvoker,insertContactsIntoDataBaseInteractor, presentationContactMapper);
//   }
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/create/di/CreateContactActivityComponent.java
// @PerActivity @Component(dependencies = AppComponent.class, modules = CreateContactActivityModule.class)
// public interface CreateContactActivityComponent {
//   void inject(CreateContactActivity createContactActivity);
// }


import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import butterknife.Bind;
import javax.inject.Inject;
import sergio.vasco.androidforexample.presentation.sections.profile.ProfilePresenter;
import sergio.vasco.androidforexample.presentation.sections.profile.ProfileView;
import sergio.vasco.realmforandroid.R;
import sergio.vasco.realmforandroid.app.section.profile.BaseContactActivity;
import sergio.vasco.realmforandroid.app.section.profile.create.di.CreateContactActivityModule;
import sergio.vasco.realmforandroid.app.section.profile.create.di.CreateContactActivityComponent;
import sergio.vasco.realmforandroid.app.section.profile.create.di.DaggerCreateContactActivityComponent;
    presenter.onPause();
  }

  @Override protected void initToolbar() {
    toolbar.setTitle(R.string.new_contact_title);
    setSupportActionBar(toolbar);
  }

  @Override public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_profile, menu);
    return true;
  }

  @Override public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_accept) {
      return true;
    }

    return super.onOptionsItemSelected(item);
  }

  @Override protected void initDI() {
    activityComponent = DaggerCreateContactActivityComponent.builder()
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/profile/ProfilePresenter.java
// public class ProfilePresenter extends Presenter {
//   private ProfileView view;
//   private Bus bus;
//   private InteractorInvoker interactorInvoker;
//   private InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor;
//   private PresentationContactMapper presentationContactMapper;
// 
//   public ProfilePresenter(ProfileView view, Bus bus, InteractorInvoker interactorInvoker,
//       InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor,  PresentationContactMapper presentationContactMapper) {
//     this.view = view;
//     this.bus = bus;
//     this.interactorInvoker = interactorInvoker;
//     this.insertContactsIntoDataBaseInteractor = insertContactsIntoDataBaseInteractor;
//     this.presentationContactMapper = presentationContactMapper;
//   }
// 
//   @Override public void onResume() {
//     //bus.register(this);
//   }
// 
//   @Override public void onPause() {
//     //bus.unregister(this);
//   }
// 
//   public void createNewContact(PresentationContact presentationContact){
// 
//     //insertContactsIntoDataBaseInteractor.setContact();
//     interactorInvoker.execute(insertContactsIntoDataBaseInteractor);
//   }
// }
// 
// Path: presentation/src/main/java/sergio/vasco/androidforexample/presentation/sections/profile/ProfileView.java
// public interface ProfileView {
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/BaseContactActivity.java
// public abstract class BaseContactActivity<T> extends BaseInjectionActivity<T>{
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/create/di/CreateContactActivityModule.java
// @Module
// public class CreateContactActivityModule {
// 
//   private final CreateContactActivity createContactActivity;
// 
//   public CreateContactActivityModule(CreateContactActivity createContactActivity) {
//     this.createContactActivity = createContactActivity;
//   }
// 
//   @PerActivity @Provides ProfilePresenter provideProfilePresenter(Bus bus, InteractorInvoker interactorInvoker, InsertContactsIntoDataBaseInteractor insertContactsIntoDataBaseInteractor,  PresentationContactMapper presentationContactMapper){
//     return new ProfilePresenter(createContactActivity,bus,interactorInvoker,insertContactsIntoDataBaseInteractor, presentationContactMapper);
//   }
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/create/di/CreateContactActivityComponent.java
// @PerActivity @Component(dependencies = AppComponent.class, modules = CreateContactActivityModule.class)
// public interface CreateContactActivityComponent {
//   void inject(CreateContactActivity createContactActivity);
// }


// Path: app/src/main/java/sergio/vasco/realmforandroid/app/section/profile/create/CreateContactActivity.java
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import butterknife.Bind;
import javax.inject.Inject;
import sergio.vasco.androidforexample.presentation.sections.profile.ProfilePresenter;
import sergio.vasco.androidforexample.presentation.sections.profile.ProfileView;
import sergio.vasco.realmforandroid.R;
import sergio.vasco.realmforandroid.app.section.profile.BaseContactActivity;
import sergio.vasco.realmforandroid.app.section.profile.create.di.CreateContactActivityModule;
import sergio.vasco.realmforandroid.app.section.profile.create.di.CreateContactActivityComponent;
import sergio.vasco.realmforandroid.app.section.profile.create.di.DaggerCreateContactActivityComponent;

    presenter.onPause();
  }

  @Override protected void initToolbar() {
    toolbar.setTitle(R.string.new_contact_title);
    setSupportActionBar(toolbar);
  }

  @Override public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_profile, menu);
    return true;
  }

  @Override public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_accept) {
      return true;
    }

    return super.onOptionsItemSelected(item);
  }

  @Override protected void initDI() {
    activityComponent = DaggerCreateContactActivityComponent.builder()
        .createContactActivityModule(new CreateContactActivityModule(this))