title: Dagger 2 activity injection not working
body: <p>I'm trying the new dagger 2, it's my first time implementing it but I can't make it work. I think I got the concept and I understand the example <a href="https://github.com/LiveTyping/u2020-mvp" rel="nofollow">here</a></p>
  
  <p>I try to copy the same structure just a bit modified for my example. </p>
  
  <p>Here is the AppComponent that extends the Graph where I defined the classes I want.</p>
  
  <pre><code>@ApplicationScope
  @Component(modules = {AppModule.class, DataModule.class})
  public interface EFAppComponent extends EFGraph {
  
      /**
       * An initializer that creates the graph from an application.
       */
      public final static class Initializer {
  
          private Initializer() {
          } // No instances.
  
          public static EFAppComponent init(EFApp app) {
              return Dagger_EFAppComponent.builder()
                      .appModule(new AppModule(app))
                      .build();
          }
      }
  }
  
  
  public interface EFGraph {
  
      public void inject(EFApp app);
  
      public ImageLoader imageLoader();
  
      public EventBus eventBus();
  
  }
  </code></pre>
  
  <p>Then inside each module I'm providing the corresponding classes. From here everything works good and Dagger seams to build the Dagger_EFAppComponent correctly.</p>
  
  <p>Then in the Application class I init using the constructor </p>
  
  <pre><code>component = EFAppComponent.Initializer.init(this);
  component.inject(this);
  </code></pre>
  
  <p>Then my goal is to Inject ImageLoader and EventBus in my activity. To do that I create a ActivityComponent.</p>
  
  <pre><code>@ActivityScope
  @Component(
          dependencies = EFAppComponent.class,
          modules = ActivityModule.class
  )
  public interface ActivityComponent {
  
      public void inject(BaseActivity activity);
  
  }
  </code></pre>
  
  <p>Then from my activity I call inject. </p>
  
  <pre><code>activityComponent = Dagger_ActivityComponent.builder()
                  .eFAppComponent(component)
                  .activityModule(new ActivityModule(this))
                  .build();
  activityComponent.inject(this);
  </code></pre>
  
  <p>So because I declared @Inject EventBus eventBus in my activity after the inject method call should be injected. Well it's not.</p>
  
  <p>So after debugging and tracking step by step my app and the example I realized that the Dagger_ActivityComponent is not build correctly. </p>
  
  <pre><code>private final ActivityModule activityModule;
      private final EFAppComponent eFAppComponent;
  
      private Dagger_ActivityComponent(Builder builder) {  
          assert builder != null;
          this.activityModule = builder.activityModule;
          this.eFAppComponent = builder.eFAppComponent;
          initialize();
    }
  </code></pre>
  
  <p>Were the initialize method is empty and no Provider are declared as variable.</p>
  
  <p>Am I missing something? I've been the full day trying to make it work but I'm not success. </p>
  
  <p>Appreciate the help.</p>