package com.ushahidi.platform.mobile.app.data.repository.datasource.formstage; import com.ushahidi.platform.mobile.app.data.api.FormStageApi; import com.ushahidi.platform.mobile.app.data.api.oauth.UshAccessTokenManager; import com.ushahidi.platform.mobile.app.data.database.FormStageDatabaseHelper; import android.support.annotation.NonNull; import javax.inject.Inject; /** * @author Ushahidi Team <team@ushahidi.com> */ public class FormStageDataSourceFactory { private final FormStageDatabaseHelper mFormStageDatabaseHelper; private final UshAccessTokenManager mUshAccessTokenManager; /** * Default constructor that constructs {@link FormStageDataSourceFactory} * * @param formStageDatabaseHelper The form database helper */ @Inject FormStageDataSourceFactory( @NonNull FormStageDatabaseHelper formStageDatabaseHelper, @NonNull UshAccessTokenManager ushAccessTokenManager) { mFormStageDatabaseHelper = formStageDatabaseHelper; mUshAccessTokenManager = ushAccessTokenManager; } /** * Creates {@link FormStageDatabaseDataSource} * * @return The form database source */ public FormStageDataSource createDatabaseDataSource() { return new FormStageDatabaseDataSource(mFormStageDatabaseHelper); } public FormStageDataSource createApiDataSource() { FormStageApi formStageApi = new FormStageApi(mUshAccessTokenManager); return new FormStageApiDataSource(formStageApi, mFormStageDatabaseHelper); } }