// Path: app/src/whatever/java/com/pacoworks/dereference/ApplicationInjectionComponent.java
// @Singleton
// @Component(modules = {
//         ApplicationModule.class, SerializationModule.class, NetworkModule.class
// })
// public interface ApplicationInjectionComponent extends DependencyDescription {
//     final class Initializer {
//         /* 10 MiB */
//         private static final long CACHE_SIZE = 10 * 1024 * 1024;
// 
//         private Initializer() {
//             /* No instances. */
//         }
// 
//         static ApplicationInjectionComponent init(DereferenceApplication app) {
//             return DaggerApplicationInjectionComponent
//                     .builder()
//                     .applicationModule(new ApplicationModule(app))
//                     .serializationModule(new SerializationModule())
//                     .networkModule(
//                             new NetworkModule(BuildConfig.ENDPOINT, app.getCacheDir(), CACHE_SIZE))
//                     .build();
//         }
//     }
// }
// 
// Path: app/src/main/java/com/pacoworks/dereference/dependencies/ActivityInjectionComponent.java
// public interface ActivityInjectionComponent<T extends ZimplBasePresenter> {
//     void inject(T presenter);
// 
//     void inject(ZimplBaseActivity activity);
// 
//     Activity activity();
// 
//     ZimplBasePresenter presenter();
// 
//     Picasso picasso();
// }
// 
// Path: app/src/main/java/com/pacoworks/dereference/dependencies/modules/ActivityModule.java
// @Module
// public class ActivityModule {
//     private final Activity activity;
// 
//     private final Downloader okHttpDownloader;
// 
//     public ActivityModule(Activity activity, Downloader okHttpDownloader) {
//         this.activity = activity;
//         this.okHttpDownloader = okHttpDownloader;
//     }
// 
//     @Provides
//     @ForActivity
//     Activity provideActivity() {
//         return activity;
//     }
// 
//     @Provides
//     @ForActivity
//     Picasso providePicasso() {
//         return new Picasso.Builder(activity).downloader(okHttpDownloader).build();
//     }
// 
//     @Provides
//     @ForActivity
//     Observable<ConnectivityStatus> provideReactiveNetwork() {
//         return new ReactiveNetwork().observeConnectivity(activity);
//     }
// }


import com.pacoworks.dereference.ApplicationInjectionComponent;
import com.pacoworks.dereference.dependencies.ActivityInjectionComponent;
import com.pacoworks.dereference.dependencies.ForActivity;
import com.pacoworks.dereference.dependencies.modules.ActivityModule;
import dagger.Component;
/*
 * Copyright (c) pakoito 2015
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.pacoworks.dereference.screens.songkicklist;



@ForActivity
@Component(dependencies = ApplicationInjectionComponent.class, modules = {
        ActivityModule.class, SongkickListModule.class
})
public interface SongkickListInjectionComponent extends
// Path: app/src/whatever/java/com/pacoworks/dereference/ApplicationInjectionComponent.java
// @Singleton
// @Component(modules = {
//         ApplicationModule.class, SerializationModule.class, NetworkModule.class
// })
// public interface ApplicationInjectionComponent extends DependencyDescription {
//     final class Initializer {
//         /* 10 MiB */
//         private static final long CACHE_SIZE = 10 * 1024 * 1024;
// 
//         private Initializer() {
//             /* No instances. */
//         }
// 
//         static ApplicationInjectionComponent init(DereferenceApplication app) {
//             return DaggerApplicationInjectionComponent
//                     .builder()
//                     .applicationModule(new ApplicationModule(app))
//                     .serializationModule(new SerializationModule())
//                     .networkModule(
//                             new NetworkModule(BuildConfig.ENDPOINT, app.getCacheDir(), CACHE_SIZE))
//                     .build();
//         }
//     }
// }
// 
// Path: app/src/main/java/com/pacoworks/dereference/dependencies/ActivityInjectionComponent.java
// public interface ActivityInjectionComponent<T extends ZimplBasePresenter> {
//     void inject(T presenter);
// 
//     void inject(ZimplBaseActivity activity);
// 
//     Activity activity();
// 
//     ZimplBasePresenter presenter();
// 
//     Picasso picasso();
// }
// 
// Path: app/src/main/java/com/pacoworks/dereference/dependencies/modules/ActivityModule.java
// @Module
// public class ActivityModule {
//     private final Activity activity;
// 
//     private final Downloader okHttpDownloader;
// 
//     public ActivityModule(Activity activity, Downloader okHttpDownloader) {
//         this.activity = activity;
//         this.okHttpDownloader = okHttpDownloader;
//     }
// 
//     @Provides
//     @ForActivity
//     Activity provideActivity() {
//         return activity;
//     }
// 
//     @Provides
//     @ForActivity
//     Picasso providePicasso() {
//         return new Picasso.Builder(activity).downloader(okHttpDownloader).build();
//     }
// 
//     @Provides
//     @ForActivity
//     Observable<ConnectivityStatus> provideReactiveNetwork() {
//         return new ReactiveNetwork().observeConnectivity(activity);
//     }
// }


// Path: app/src/main/java/com/pacoworks/dereference/screens/songkicklist/SongkickListInjectionComponent.java
import com.pacoworks.dereference.ApplicationInjectionComponent;
import com.pacoworks.dereference.dependencies.ActivityInjectionComponent;
import com.pacoworks.dereference.dependencies.ForActivity;
import com.pacoworks.dereference.dependencies.modules.ActivityModule;
import dagger.Component;

/*
 * Copyright (c) pakoito 2015
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.pacoworks.dereference.screens.songkicklist;



@ForActivity
@Component(dependencies = ApplicationInjectionComponent.class, modules = {
        ActivityModule.class, SongkickListModule.class
})
public interface SongkickListInjectionComponent extends
        ActivityInjectionComponent<SongkickListPresenter> {