// Path: app/src/main/java/com/example/offline/App.java
// public class App extends Application implements HasActivityInjector {
//     @Inject
//     DispatchingAndroidInjector<Activity> dispatchingAndroidInjector;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
// 
//         if (BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//         }
// 
//         DaggerAppComponent
//                 .builder()
//                 .application(this)
//                 .build()
//                 .inject(this);
// 
//         JobManagerFactory.getJobManager(this);
//     }
// 
//     @Override
//     public AndroidInjector<Activity> activityInjector() {
//         return dispatchingAndroidInjector;
//     }
// }


import com.example.offline.App;
import javax.inject.Singleton;
import dagger.BindsInstance;
import dagger.Component;
import dagger.android.support.AndroidSupportInjectionModule;
package com.example.offline.di;




@Singleton
@Component(modules = {
        /* Use AndroidInjectionModule.class if you're not using support library */
        AndroidSupportInjectionModule.class,
        AppModule.class,
        BuildersModule.class})
public interface AppComponent {
    @Component.Builder
    interface Builder {
        @BindsInstance
// Path: app/src/main/java/com/example/offline/App.java
// public class App extends Application implements HasActivityInjector {
//     @Inject
//     DispatchingAndroidInjector<Activity> dispatchingAndroidInjector;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
// 
//         if (BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//         }
// 
//         DaggerAppComponent
//                 .builder()
//                 .application(this)
//                 .build()
//                 .inject(this);
// 
//         JobManagerFactory.getJobManager(this);
//     }
// 
//     @Override
//     public AndroidInjector<Activity> activityInjector() {
//         return dispatchingAndroidInjector;
//     }
// }


// Path: app/src/main/java/com/example/offline/di/AppComponent.java
import com.example.offline.App;
import javax.inject.Singleton;
import dagger.BindsInstance;
import dagger.Component;
import dagger.android.support.AndroidSupportInjectionModule;

package com.example.offline.di;




@Singleton
@Component(modules = {
        /* Use AndroidInjectionModule.class if you're not using support library */
        AndroidSupportInjectionModule.class,
        AppModule.class,
        BuildersModule.class})
public interface AppComponent {
    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder application(App application);