// Path: app/src/main/java/sergio/vasco/realmforandroid/app/App.java
// public class App extends Application {
// 
//   private AppComponent appComponent;
// 
//   @Override public void onCreate() {
//     super.onCreate();
//     initDI();
//   }
// 
//   private void initDI() {
//     initAppComponent();
//   }
// 
//   private void initAppComponent() {
//     appComponent = DaggerAppComponent.builder().appModule(new AppModule(this)).build();
//     appComponent.inject(this);
//   }
// 
//   public AppComponent getAppComponent() {
//     return appComponent;
//   }
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/base/BaseUIActivity.java
// public abstract class BaseUIActivity extends AppCompatActivity {
// 
//   protected @Bind(R.id.toolbar) Toolbar toolbar;
// 
//   @Override public void setContentView(int layoutResID) {
//     super.setContentView(layoutResID);
//     ButterKnife.bind(this);
//   }
// 
//   @Override protected void onStart() {
//     super.onStart();
//     initToolbar();
//   }
// 
//   protected abstract void initToolbar();
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/di/components/AppComponent.java
// @Singleton @Component(modules = {AppModule.class, DataModule.class, InteractorModule.class,
//     RepositoryModule.class, DataSourceModule.class, MapperModule.class})
// public interface AppComponent extends InteractorComponent, DataComponent,
//     DataSourceComponent, RepositoryComponent, MapperComponent {
//   void inject(App app);
// }


import android.os.Bundle;
import sergio.vasco.realmforandroid.app.App;
import sergio.vasco.realmforandroid.app.base.BaseUIActivity;
import sergio.vasco.realmforandroid.app.di.components.AppComponent;
package sergio.vasco.realmforandroid.app.di.injectableelements;


/**
 * Name: Sergio Vasco
 * Date: 15/1/16.
 */
public abstract class BaseInjectionActivity<T> extends BaseUIActivity {

  protected T activityComponent;

// Path: app/src/main/java/sergio/vasco/realmforandroid/app/App.java
// public class App extends Application {
// 
//   private AppComponent appComponent;
// 
//   @Override public void onCreate() {
//     super.onCreate();
//     initDI();
//   }
// 
//   private void initDI() {
//     initAppComponent();
//   }
// 
//   private void initAppComponent() {
//     appComponent = DaggerAppComponent.builder().appModule(new AppModule(this)).build();
//     appComponent.inject(this);
//   }
// 
//   public AppComponent getAppComponent() {
//     return appComponent;
//   }
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/base/BaseUIActivity.java
// public abstract class BaseUIActivity extends AppCompatActivity {
// 
//   protected @Bind(R.id.toolbar) Toolbar toolbar;
// 
//   @Override public void setContentView(int layoutResID) {
//     super.setContentView(layoutResID);
//     ButterKnife.bind(this);
//   }
// 
//   @Override protected void onStart() {
//     super.onStart();
//     initToolbar();
//   }
// 
//   protected abstract void initToolbar();
// }
// 
// Path: app/src/main/java/sergio/vasco/realmforandroid/app/di/components/AppComponent.java
// @Singleton @Component(modules = {AppModule.class, DataModule.class, InteractorModule.class,
//     RepositoryModule.class, DataSourceModule.class, MapperModule.class})
// public interface AppComponent extends InteractorComponent, DataComponent,
//     DataSourceComponent, RepositoryComponent, MapperComponent {
//   void inject(App app);
// }


// Path: app/src/main/java/sergio/vasco/realmforandroid/app/di/injectableelements/BaseInjectionActivity.java
import android.os.Bundle;
import sergio.vasco.realmforandroid.app.App;
import sergio.vasco.realmforandroid.app.base.BaseUIActivity;
import sergio.vasco.realmforandroid.app.di.components.AppComponent;

package sergio.vasco.realmforandroid.app.di.injectableelements;


/**
 * Name: Sergio Vasco
 * Date: 15/1/16.
 */
public abstract class BaseInjectionActivity<T> extends BaseUIActivity {

  protected T activityComponent;

  @Override protected void onCreate(Bundle savedInstanceState) {