From e39b8ae3549ff2a3e169f58e5747ed73b85a0144 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sat, 20 Nov 2021 15:36:13 +0300 Subject: [PATCH] Provide SharedPreferences via Hilt --- app/src/main/java/gq/kirmanak/mealient/data/AppModule.kt | 7 +++++++ .../kirmanak/mealient/data/auth/impl/AuthStorageImpl.kt | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/gq/kirmanak/mealient/data/AppModule.kt b/app/src/main/java/gq/kirmanak/mealient/data/AppModule.kt index 1a5b32d..672fa40 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/AppModule.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/AppModule.kt @@ -1,6 +1,8 @@ package gq.kirmanak.mealient.data import android.content.Context +import android.content.SharedPreferences +import androidx.preference.PreferenceManager import androidx.room.Room import dagger.Module import dagger.Provides @@ -16,5 +18,10 @@ interface AppModule { fun createDb(@ApplicationContext context: Context): AppDb { return Room.databaseBuilder(context, AppDb::class.java, "app.db").build() } + + @Provides + fun createSharedPreferences(@ApplicationContext context: Context): SharedPreferences { + return PreferenceManager.getDefaultSharedPreferences(context) + } } } \ No newline at end of file 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 f9a6e0c..ac82edc 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 @@ -1,9 +1,6 @@ package gq.kirmanak.mealient.data.auth.impl -import android.content.Context import android.content.SharedPreferences -import androidx.preference.PreferenceManager -import dagger.hilt.android.qualifiers.ApplicationContext import gq.kirmanak.mealient.data.auth.AuthStorage import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -20,10 +17,9 @@ private const val TOKEN_KEY = "AUTH_TOKEN" private const val BASE_URL_KEY = "BASE_URL" @ExperimentalCoroutinesApi -class AuthStorageImpl @Inject constructor(@ApplicationContext private val context: Context) : - AuthStorage { +class AuthStorageImpl @Inject constructor( private val sharedPreferences: SharedPreferences - get() = PreferenceManager.getDefaultSharedPreferences(context) +) : AuthStorage { override fun storeAuthData(token: String, baseUrl: String) { Timber.v("storeAuthData() called with: token = $token, baseUrl = $baseUrl")