// Path: app/src/main/java/net/liang/androidbaseapplication/data/Test1RepositoryModule.java
// @Module
// public class Test1RepositoryModule {
// 
//     @Singleton
//     @Provides
//     @Local
//     Test1LocalDataSource provideTest1LocalDataSource() {
//         return new Test1LocalDataSource();
//     }
// 
//     @Singleton
//     @Provides
//     @Remote
//     Test1RemoteDataSource provideTest1RemoteDataSource() {
//         return new Test1RemoteDataSource();
//     }
// 
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/Test2RepositoryModule.java
// @Module
// public class Test2RepositoryModule {
// 
//     @Singleton
//     @Provides
//     @Local
//     Test2LocalDataSource provideTest2LocalDataSource() {
//         return new Test2LocalDataSource();
//     }
// 
//     @Singleton
//     @Provides
//     @Remote
//     Test2RemoteDataSource provideTest2RemoteDataSource() {
//         return new Test2RemoteDataSource();
//     }
// 
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/repository/Test1Repository.java
// public class Test1Repository implements Test1Api {
// 
//     private final Test1Api mTest1RemoteDataSource;
// 
//     private final Test1Api mTest1LocalDataSource;
// 
//     @Inject
//     public Test1Repository(@Local Test1LocalDataSource mTest1LocalDataSource, @Remote Test1RemoteDataSource mTest1RemoteDataSource) {
//         this.mTest1RemoteDataSource = mTest1RemoteDataSource;
//         this.mTest1LocalDataSource = mTest1LocalDataSource;
//     }
// 
//     @Override
//     public List<String> testGet() {
//         return mTest1LocalDataSource.testGet();
//     }
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/repository/Test2Repository.java
// public class Test2Repository implements Test2Api {
// 
//     private final Test2Api mTest2RemoteDataSource;
// 
//     private final Test2Api mTest2LocalDataSource;
// 
//     @Inject
//     public Test2Repository(@Local Test2LocalDataSource mTestLocalDataSource, @Remote Test2RemoteDataSource mTestRemoteDataSource) {
//         this.mTest2RemoteDataSource = mTestRemoteDataSource;
//         this.mTest2LocalDataSource = mTestLocalDataSource;
//     }
// 
//     @Override
//     public List<String> testGet() {
//         return mTest2LocalDataSource.testGet();
//     }
// }


import net.liang.androidbaseapplication.data.Test1RepositoryModule;
import net.liang.androidbaseapplication.data.Test2RepositoryModule;
import net.liang.androidbaseapplication.data.repository.Test1Repository;
import net.liang.androidbaseapplication.data.repository.Test2Repository;
import javax.inject.Singleton;
import dagger.Component;
package net.liang.androidbaseapplication.dagger;





/**
 * 数据源注入清单
 * 每个数据源仓库，要有与之对应的数据源Module
 * 比如：Test1Repository 对应 Test1RepositoryModule
 */
@Singleton
@Component(modules = {Test1RepositoryModule.class,
        Test2RepositoryModule.class})
// Path: app/src/main/java/net/liang/androidbaseapplication/data/Test1RepositoryModule.java
// @Module
// public class Test1RepositoryModule {
// 
//     @Singleton
//     @Provides
//     @Local
//     Test1LocalDataSource provideTest1LocalDataSource() {
//         return new Test1LocalDataSource();
//     }
// 
//     @Singleton
//     @Provides
//     @Remote
//     Test1RemoteDataSource provideTest1RemoteDataSource() {
//         return new Test1RemoteDataSource();
//     }
// 
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/Test2RepositoryModule.java
// @Module
// public class Test2RepositoryModule {
// 
//     @Singleton
//     @Provides
//     @Local
//     Test2LocalDataSource provideTest2LocalDataSource() {
//         return new Test2LocalDataSource();
//     }
// 
//     @Singleton
//     @Provides
//     @Remote
//     Test2RemoteDataSource provideTest2RemoteDataSource() {
//         return new Test2RemoteDataSource();
//     }
// 
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/repository/Test1Repository.java
// public class Test1Repository implements Test1Api {
// 
//     private final Test1Api mTest1RemoteDataSource;
// 
//     private final Test1Api mTest1LocalDataSource;
// 
//     @Inject
//     public Test1Repository(@Local Test1LocalDataSource mTest1LocalDataSource, @Remote Test1RemoteDataSource mTest1RemoteDataSource) {
//         this.mTest1RemoteDataSource = mTest1RemoteDataSource;
//         this.mTest1LocalDataSource = mTest1LocalDataSource;
//     }
// 
//     @Override
//     public List<String> testGet() {
//         return mTest1LocalDataSource.testGet();
//     }
// }
// 
// Path: app/src/main/java/net/liang/androidbaseapplication/data/repository/Test2Repository.java
// public class Test2Repository implements Test2Api {
// 
//     private final Test2Api mTest2RemoteDataSource;
// 
//     private final Test2Api mTest2LocalDataSource;
// 
//     @Inject
//     public Test2Repository(@Local Test2LocalDataSource mTestLocalDataSource, @Remote Test2RemoteDataSource mTestRemoteDataSource) {
//         this.mTest2RemoteDataSource = mTestRemoteDataSource;
//         this.mTest2LocalDataSource = mTestLocalDataSource;
//     }
// 
//     @Override
//     public List<String> testGet() {
//         return mTest2LocalDataSource.testGet();
//     }
// }


// Path: app/src/main/java/net/liang/androidbaseapplication/dagger/RepositoryComponent.java
import net.liang.androidbaseapplication.data.Test1RepositoryModule;
import net.liang.androidbaseapplication.data.Test2RepositoryModule;
import net.liang.androidbaseapplication.data.repository.Test1Repository;
import net.liang.androidbaseapplication.data.repository.Test2Repository;
import javax.inject.Singleton;
import dagger.Component;

package net.liang.androidbaseapplication.dagger;





/**
 * 数据源注入清单
 * 每个数据源仓库，要有与之对应的数据源Module
 * 比如：Test1Repository 对应 Test1RepositoryModule
 */
@Singleton
@Component(modules = {Test1RepositoryModule.class,
        Test2RepositoryModule.class})
public interface RepositoryComponent {