diff options
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/injection/context')
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt | 8 | ||||
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt index 6399781e..0f1acac8 100644 --- a/app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt +++ b/app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt @@ -11,6 +11,14 @@ import dagger.hilt.components.SingletonComponent @InstallIn(SingletonComponent::class) class ContextModule { + /** + * A method which provides the path of app-specific files directory. This is useful where we want + * to perform file operations but we do not want to depend on the [Context]. Injecting this in + * place of [Context] allows the method/class to be unit-tested without any mocks/fakes. + * + * @param context [ApplicationContext] + * @return the path of app-specific files directory. + */ @Provides @FilesDirPath fun providesFilesDirPath(@ApplicationContext context: Context): String { diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt b/app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt index ec747bfe..8ab96f59 100644 --- a/app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt +++ b/app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt @@ -1,5 +1,11 @@ package dev.msfjarvis.aps.injection.context +import android.content.Context +import dev.msfjarvis.aps.util.settings.GitSettings import javax.inject.Qualifier +/** + * Qualifier for a string value that needs to be provided to the [GitSettings]. It points to + * `applicationContext.filesDir` and helps in removing the dependency on [Context]. + */ @Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class FilesDirPath |
