// Path: app/src/main/java/eu/se_bastiaan/tvnl/AppInjectionComponent.java
// @Singleton
// @Component(
//         modules = {
//                 AppModule.class,
//                 NetworkModule.class
//         }
// )
// public interface AppInjectionComponent {
// 
//     void inject(@NonNull MainActivity activity);
//     void inject(@NonNull DetailsActivity activity);
//     void inject(@NonNull SearchActivity activity);
//     void inject(@NonNull VideoPlayerActivity activity);
// 
//     void inject(@NonNull BrowseFragPresenter presenter);
//     void inject(@NonNull VideoPlayerFragPresenter presenter);
//     void inject(@NonNull PlaybackOverlayFragPresenter presenter);
//     void inject(@NonNull PlaybackOverlayFragment presenter);
//     void inject(@NonNull SearchFragPresenter presenter);
//     void inject(@NonNull DetailsFragPresenter presenter);
// 
//     void inject(@NonNull OkHttpGlideModule module);
// 
//     void inject(@NonNull RecommendationContentProvider contentProvider);
//     void inject(@NonNull RecommendationService service);
// 
//     final class Initializer {
//         private Initializer() {
//             /* No instances. */
//         }
// 
//         public static AppInjectionComponent init(TVNLApplication application) {
//             return DaggerAppInjectionComponent
//                     .builder()
//                     .appModule(new AppModule(application))
//                     .networkModule(new NetworkModule())
//                     .build();
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/eu/se_bastiaan/tvnl/TVNLApplication.java
// public class TVNLApplication extends MultiDexApplication {
// 
//     @Nullable
//     private volatile AppInjectionComponent appInjectionComponent;
//     private static TVNLApplication sThis;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         sThis = this;
// 
//         if(BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//         } else {
//             //Timber.plant(new CrashlyticsLogTree(Log.INFO));
//         }
// 
//         CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
//                 .setDefaultFontPath("fonts/Regular.ttf")
//                 .setFontAttrId(R.attr.fontPath)
//                 .build()
//         );
// 
//         Intent recommendationIntent = new Intent(this, RecommendationService.class);
//         startService(recommendationIntent);
//     }
// 
//     public static TVNLApplication get() {
//         return sThis;
//     }
// 
//     @NonNull
//     public AppInjectionComponent appComponent() {
//         if (appInjectionComponent == null) {
//             synchronized (Application.class) {
//                 if (appInjectionComponent == null) {
//                     appInjectionComponent = AppInjectionComponent.Initializer.init(this);
//                 }
//             }
//         }
// 
//         //noinspection ConstantConditions
//         return appInjectionComponent;
//     }
// 
// }


import android.os.Bundle;
import eu.se_bastiaan.tvnl.AppInjectionComponent;
import eu.se_bastiaan.tvnl.TVNLApplication;
import nucleus.presenter.RxPresenter;
import nucleus.view.ViewWithPresenter;
import rx.Observable;
import rx.functions.Func1;
package eu.se_bastiaan.tvnl.ui.presenter.base;



public abstract class BasePresenter<V extends ViewWithPresenter> extends RxPresenter<V> {

    @Override
    protected void onCreate(Bundle savedState) {
        super.onCreate(savedState);
// Path: app/src/main/java/eu/se_bastiaan/tvnl/AppInjectionComponent.java
// @Singleton
// @Component(
//         modules = {
//                 AppModule.class,
//                 NetworkModule.class
//         }
// )
// public interface AppInjectionComponent {
// 
//     void inject(@NonNull MainActivity activity);
//     void inject(@NonNull DetailsActivity activity);
//     void inject(@NonNull SearchActivity activity);
//     void inject(@NonNull VideoPlayerActivity activity);
// 
//     void inject(@NonNull BrowseFragPresenter presenter);
//     void inject(@NonNull VideoPlayerFragPresenter presenter);
//     void inject(@NonNull PlaybackOverlayFragPresenter presenter);
//     void inject(@NonNull PlaybackOverlayFragment presenter);
//     void inject(@NonNull SearchFragPresenter presenter);
//     void inject(@NonNull DetailsFragPresenter presenter);
// 
//     void inject(@NonNull OkHttpGlideModule module);
// 
//     void inject(@NonNull RecommendationContentProvider contentProvider);
//     void inject(@NonNull RecommendationService service);
// 
//     final class Initializer {
//         private Initializer() {
//             /* No instances. */
//         }
// 
//         public static AppInjectionComponent init(TVNLApplication application) {
//             return DaggerAppInjectionComponent
//                     .builder()
//                     .appModule(new AppModule(application))
//                     .networkModule(new NetworkModule())
//                     .build();
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/eu/se_bastiaan/tvnl/TVNLApplication.java
// public class TVNLApplication extends MultiDexApplication {
// 
//     @Nullable
//     private volatile AppInjectionComponent appInjectionComponent;
//     private static TVNLApplication sThis;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         sThis = this;
// 
//         if(BuildConfig.DEBUG) {
//             Timber.plant(new Timber.DebugTree());
//         } else {
//             //Timber.plant(new CrashlyticsLogTree(Log.INFO));
//         }
// 
//         CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
//                 .setDefaultFontPath("fonts/Regular.ttf")
//                 .setFontAttrId(R.attr.fontPath)
//                 .build()
//         );
// 
//         Intent recommendationIntent = new Intent(this, RecommendationService.class);
//         startService(recommendationIntent);
//     }
// 
//     public static TVNLApplication get() {
//         return sThis;
//     }
// 
//     @NonNull
//     public AppInjectionComponent appComponent() {
//         if (appInjectionComponent == null) {
//             synchronized (Application.class) {
//                 if (appInjectionComponent == null) {
//                     appInjectionComponent = AppInjectionComponent.Initializer.init(this);
//                 }
//             }
//         }
// 
//         //noinspection ConstantConditions
//         return appInjectionComponent;
//     }
// 
// }


// Path: app/src/main/java/eu/se_bastiaan/tvnl/ui/presenter/base/BasePresenter.java
import android.os.Bundle;
import eu.se_bastiaan.tvnl.AppInjectionComponent;
import eu.se_bastiaan.tvnl.TVNLApplication;
import nucleus.presenter.RxPresenter;
import nucleus.view.ViewWithPresenter;
import rx.Observable;
import rx.functions.Func1;

package eu.se_bastiaan.tvnl.ui.presenter.base;



public abstract class BasePresenter<V extends ViewWithPresenter> extends RxPresenter<V> {

    @Override
    protected void onCreate(Bundle savedState) {
        super.onCreate(savedState);
        injectComponent(TVNLApplication.get().appComponent());