mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-17 15:37:01 +05:30
Add DataStore dependency and set up injection
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
b37707d933
commit
9e3f718ab9
3 changed files with 38 additions and 0 deletions
|
@ -33,6 +33,7 @@ dependencies {
|
|||
implementation(compose.ui)
|
||||
implementation(Dependencies.AndroidX.appCompat)
|
||||
implementation(Dependencies.AndroidX.browser)
|
||||
implementation(Dependencies.AndroidX.datastore)
|
||||
implementation(Dependencies.AndroidX.Compose.activity)
|
||||
implementation(Dependencies.AndroidX.Compose.lifecycleViewModel)
|
||||
implementation(Dependencies.AndroidX.Compose.navigation)
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
package dev.msfjarvis.lobsters.injection
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.preferencesDataStoreFile
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import javax.inject.Qualifier
|
||||
|
||||
@Qualifier
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class PreferenceStoreFileNameQualifier
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object DataStoreModule {
|
||||
|
||||
@Provides
|
||||
fun provideDataStore(
|
||||
@ApplicationContext context: Context,
|
||||
@PreferenceStoreFileNameQualifier fileName: String,
|
||||
): DataStore<Preferences> {
|
||||
return PreferenceDataStoreFactory.create { context.preferencesDataStoreFile(fileName) }
|
||||
}
|
||||
|
||||
@Provides
|
||||
@PreferenceStoreFileNameQualifier
|
||||
fun provideDataStoreFilename(): String {
|
||||
return "Claw_preferences"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue