title: Android Dagger @Injects are null
body: <p>Dagger is kicking my butt.</p>
  
  <p>I have the following layout.</p>
  
  <ul>
  <li>A MainActivity which is injected into the Object graph.</li>
  <li>The MainActivity @Injects a MainPresenter interface. This is Provided via the MainModule which returns a concrete implementation.</li>
  <li>The concrete MainPresenter implementation takes a FileContentInteractor interface. This is provided in the InteractorModule which returns a concrete FileContentInteractor implementation.</li>
  <li>MainModule can do this because it includes InteractorModule.class</li>
  </ul>
  
  <p>Up until now everything is great. From this point on is where it gets tricky.</p>
  
  <p>The concrete FileContentInteractor implementation injects some member variables using @Inject. These member variables are all interfaces which are provided concrete implementations via their respective modules.</p>
  
  <p>An example is @Inject ThreadExecutor threadExecutor. I thought that this would be provided because;</p>
  
  <ul>
  <li>InteractorModule includes ExecutorModule.class.</li>
  <li>ExecutorModule.class @Provides a concrete implementation of ThreadExecutor in the form of a TaasExecutor object. </li>
  <li>TaskExecutor object has no injected dependencies.</li>
  </ul>
  
  <p>When I run my app and the MainActivity opens the following happens;</p>
  
  <ul>
  <li>MainActivity calls a method of MainPresenter implementation - works fine!</li>
  <li>MainPresenter has a FileContentInteractor implementation and calls a method on it - works</li>
  <li>The method in FileContentInteractor implementation tries to call a method in ThreadExecutor implementation (which is @Injected as a member variable). This failed because the @Injected ThreadExecutor implementation is null.</li>
  </ul>
  
  <p>Can anyone help?</p>