diff --git a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthDataSourceImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthDataSourceImpl.kt index a25fcde..0d3ddac 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthDataSourceImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthDataSourceImpl.kt @@ -12,7 +12,9 @@ import retrofit2.HttpException import retrofit2.Response import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class AuthDataSourceImpl @Inject constructor( private val authServiceFactory: ServiceFactory, private val json: Json, diff --git a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthRepoImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthRepoImpl.kt index 20f0867..d20a9e3 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthRepoImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthRepoImpl.kt @@ -11,7 +11,9 @@ import kotlinx.coroutines.flow.map import okhttp3.HttpUrl.Companion.toHttpUrl import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class AuthRepoImpl @Inject constructor( private val dataSource: AuthDataSource, private val storage: AuthStorage, diff --git a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthStorageImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthStorageImpl.kt index 9bfc7b8..5a81763 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthStorageImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/auth/impl/AuthStorageImpl.kt @@ -9,10 +9,12 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton private const val AUTH_HEADER_KEY = "AUTH_TOKEN" private const val BASE_URL_KEY = "BASE_URL" +@Singleton class AuthStorageImpl @Inject constructor( private val sharedPreferences: SharedPreferences ) : AuthStorage { diff --git a/app/src/main/java/gq/kirmanak/mealient/data/disclaimer/DisclaimerStorageImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/disclaimer/DisclaimerStorageImpl.kt index 823a977..41f8139 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/disclaimer/DisclaimerStorageImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/disclaimer/DisclaimerStorageImpl.kt @@ -4,9 +4,11 @@ import android.content.SharedPreferences import gq.kirmanak.mealient.extensions.getBooleanOrFalse import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton private const val IS_DISCLAIMER_ACCEPTED_KEY = "IS_DISCLAIMER_ACCEPTED" +@Singleton class DisclaimerStorageImpl @Inject constructor( private val sharedPreferences: SharedPreferences ) : DisclaimerStorage { diff --git a/app/src/main/java/gq/kirmanak/mealient/data/network/RetrofitBuilder.kt b/app/src/main/java/gq/kirmanak/mealient/data/network/RetrofitBuilder.kt index 0c5ae74..2f6cb3e 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/network/RetrofitBuilder.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/network/RetrofitBuilder.kt @@ -8,7 +8,9 @@ import okhttp3.OkHttpClient import retrofit2.Retrofit import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class RetrofitBuilder @Inject constructor( private val okHttpClient: OkHttpClient, private val json: Json diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/db/RecipeStorageImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/db/RecipeStorageImpl.kt index be0b13c..3039b99 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/db/RecipeStorageImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/db/RecipeStorageImpl.kt @@ -13,7 +13,9 @@ import gq.kirmanak.mealient.extensions.toRecipeIngredientEntity import gq.kirmanak.mealient.extensions.toRecipeInstructionEntity import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class RecipeStorageImpl @Inject constructor( private val db: AppDb ) : RecipeStorage { diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeImageLoaderImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeImageLoaderImpl.kt index 0f33b44..b83de42 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeImageLoaderImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeImageLoaderImpl.kt @@ -9,7 +9,9 @@ import gq.kirmanak.mealient.ui.ImageLoader import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class RecipeImageLoaderImpl @Inject constructor( private val imageLoader: ImageLoader, private val authRepo: AuthRepo diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt index b8926f8..a36f7e1 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt @@ -11,8 +11,10 @@ import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource import kotlinx.coroutines.CancellationException import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton @OptIn(ExperimentalPagingApi::class) +@Singleton class RecipeRepoImpl @Inject constructor( private val mediator: RecipesRemoteMediator, private val storage: RecipeStorage, diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipesRemoteMediator.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipesRemoteMediator.kt index 7c0b5c3..96cbfa4 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipesRemoteMediator.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipesRemoteMediator.kt @@ -10,8 +10,10 @@ import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource import kotlinx.coroutines.CancellationException import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton @OptIn(ExperimentalPagingApi::class) +@Singleton class RecipesRemoteMediator @Inject constructor( private val storage: RecipeStorage, private val network: RecipeDataSource, diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/network/RecipeDataSourceImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/network/RecipeDataSourceImpl.kt index 6a11cde..05cd801 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/network/RecipeDataSourceImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/network/RecipeDataSourceImpl.kt @@ -6,7 +6,9 @@ import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class RecipeDataSourceImpl @Inject constructor( private val authRepo: AuthRepo, private val recipeServiceFactory: ServiceFactory, diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/picasso/ImageLoaderPicasso.kt b/app/src/main/java/gq/kirmanak/mealient/ui/picasso/ImageLoaderPicasso.kt index 9b44c67..8779d4d 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/picasso/ImageLoaderPicasso.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/picasso/ImageLoaderPicasso.kt @@ -5,7 +5,9 @@ import com.squareup.picasso.Picasso import gq.kirmanak.mealient.ui.ImageLoader import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class ImageLoaderPicasso @Inject constructor( private val picasso: Picasso ) : ImageLoader { diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/picasso/PicassoBuilder.kt b/app/src/main/java/gq/kirmanak/mealient/ui/picasso/PicassoBuilder.kt index 4ccc879..31e885f 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/picasso/PicassoBuilder.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/picasso/PicassoBuilder.kt @@ -8,7 +8,9 @@ import gq.kirmanak.mealient.BuildConfig import okhttp3.OkHttpClient import timber.log.Timber import javax.inject.Inject +import javax.inject.Singleton +@Singleton class PicassoBuilder @Inject constructor( @ApplicationContext private val context: Context, private val okHttpClient: OkHttpClient