package com.kickstarter;
import android.content.SharedPreferences;
import android.support.annotation.NonNull;
import com.kickstarter.libs.ApiEndpoint;
import com.kickstarter.libs.BuildCheck;
import com.kickstarter.libs.InternalTools;
import com.kickstarter.libs.InternalToolsType;
import com.kickstarter.libs.preferences.StringPreference;
import com.kickstarter.libs.preferences.StringPreferenceType;
import com.kickstarter.libs.qualifiers.ApiEndpointPreference;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
@Module(includes = ApplicationModule.class)
public final class InternalApplicationModule {
@Provides
@Singleton
ApiEndpoint provideApiEndpoint(@ApiEndpointPreference final @NonNull StringPreferenceType apiEndpointPreference) {
return ApiEndpoint.from(apiEndpointPreference.get());
}
@Provides
@Singleton
@ApiEndpointPreference
@NonNull StringPreferenceType provideApiEndpointPreference(final @NonNull SharedPreferences sharedPreferences) {
return new StringPreference(sharedPreferences, "debug_api_endpoint", ApiEndpoint.PRODUCTION.url());
}
@Provides
BuildCheck provideBuildCheck() {
return BuildCheck.DEFAULT;
}
@Provides
@Singleton
@NonNull
InternalToolsType providesInternalToolsType() {
return new InternalTools();
}
}