package com.azimo.tool.publisher.module; import com.azimo.tool.config.AppConfig; import com.azimo.tool.publisher.AndroidPublisherAuth; import com.azimo.tool.publisher.AndroidPublisherBuilder; import com.azimo.tool.publisher.AndroidPublisherReviewsService; import com.azimo.tool.publisher.mapper.ReviewMapper; import com.azimo.tool.utils.file.FilePathParser; import com.google.api.services.androidpublisher.AndroidPublisher; import dagger.Module; import dagger.Provides; import javax.inject.Singleton; /** * Created by F1sherKK on 16/01/17. */ @Module public class PublisherModule { @Singleton @Provides public AndroidPublisherAuth provideAndroidPublisherAuth(AndroidPublisherBuilder credentials, AppConfig appConfig, FilePathParser filePathParser) { return new AndroidPublisherAuth(credentials, appConfig, filePathParser); } @Singleton @Provides public AndroidPublisher provideAndroidPublisher(AndroidPublisherAuth androidPublisherAuth) { return androidPublisherAuth.init(); } @Singleton @Provides public AndroidPublisher.Reviews providePublisherReviews(AndroidPublisher androidPublisher) { return androidPublisher.reviews(); } @Singleton @Provides public AndroidPublisherReviewsService provideAndroidPublisherReviewsService(AndroidPublisher.Reviews reviews, ReviewMapper reviewMapper, AppConfig appConfig) { return new AndroidPublisherReviewsService(reviews, reviewMapper, appConfig); } @Singleton @Provides public ReviewMapper provideReviewMapper() { return new ReviewMapper(); } @Singleton @Provides public AndroidPublisherBuilder provideAndroidPublisherCredentials() { return new AndroidPublisherBuilder(); } }