title: Dagger 2: Unable to inject singleton in other scope
body: <p>I have Singleton scoped module that provides some standard singletons: Application, DB services, etc.
  But for Activity I have separate module that should create Presenter for he Activity and I need to pass Application context to it. However I get following error when trying to compile the project:</p>
  
  <pre><code>Error:(13, 1) error: xxx.SplashComponent scoped with @xxx.ViewScope may not reference bindings with different scopes:
  @Provides @Singleton xxx.ApplicationModule.provideAppContext()
  </code></pre>
  
  <p>Here is snippet of my Application module:</p>
  
  <pre><code>@Singleton
  @Module
  public class ApplicationModule {
  
      private Application app;
  
      public ApplicationModule(Application app) {
          this.app = app;
      }
  
      @Provides
      @Singleton
      @Named("ui")
      Scheduler provideUIScheduler() {
          return AndroidSchedulers.mainThread();
      }
  
      @Provides
      @Singleton
      @Named("io")
      Scheduler provideIOScheduler() {
          return Schedulers.io();
      }
  
      @Provides
      @Singleton
      Application provideApplication() {
          return app;
      }
  
      @Provides
      @Singleton
      Context provideAppContext() {
          return app;
      }
  }
  </code></pre>
  
  <p>And here is Activity module and Component:</p>
  
  <pre><code>@Module
  public class SplashModule {
      private final FragmentManager fragmentManager;
  
      public SplashModule(FragmentManager fragmentManager) {
  
          this.fragmentManager = fragmentManager;
      }
  
      @Provides
      @ViewScope
      Presenter getPresenter(Context context) {
          return new SplashPresenter(context, fragmentManager);
      }
  }
  </code></pre>
  
  <p>Component:</p>
  
  <pre><code>@ViewScope
  @Component(modules = {SplashModule.class, ApplicationModule.class})
  public interface SplashComponent {
      void inject(SplashActivity activity);
  }
  </code></pre>
  
  <p>What am I doing wrong?</p>