aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/injection
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/injection')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt27
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt7
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/coroutines/DispatcherModule.kt19
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/crypto/CryptoHandlerModule.kt18
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/crypto/KeyManagerModule.kt39
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/prefs/GitPreferences.kt9
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/prefs/PasswordGeneratorPreferences.kt10
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/prefs/PreferenceModule.kt60
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/prefs/ProxyPreferences.kt9
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/prefs/SettingsPreferences.kt5
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/pwgen/DicewareModule.kt55
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/injection/totp/TotpModule.kt19
12 files changed, 0 insertions, 277 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
deleted file mode 100644
index 41e59bf9..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/context/ContextModule.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-package dev.msfjarvis.aps.injection.context
-
-import android.content.Context
-import dagger.Module
-import dagger.Provides
-import dagger.hilt.InstallIn
-import dagger.hilt.android.qualifiers.ApplicationContext
-import dagger.hilt.components.SingletonComponent
-
-@Module
-@InstallIn(SingletonComponent::class)
-class ContextModule {
-
- /**
- * We inject [Context.getFilesDir] to break the dependency on [Context], allowing tests to run on
- * the JVM. The principle here is identical to why [dev.msfjarvis.aps.util.totp.TotpFinder]
- * exists.
- *
- * @param context [ApplicationContext]
- * @return the path of app-specific files directory.
- */
- @Provides
- @FilesDirPath
- fun providesFilesDirPath(@ApplicationContext context: Context): String {
- return context.filesDir.path
- }
-}
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
deleted file mode 100644
index f6419354..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/context/FilesDirPath.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package dev.msfjarvis.aps.injection.context
-
-import android.content.Context
-import javax.inject.Qualifier
-
-/** Qualifies a [String] representing the absolute path of [Context.getFilesDir]. */
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class FilesDirPath
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/coroutines/DispatcherModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/coroutines/DispatcherModule.kt
deleted file mode 100644
index bf84fc27..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/coroutines/DispatcherModule.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.coroutines
-
-import dagger.Binds
-import dagger.Module
-import dagger.hilt.InstallIn
-import dagger.hilt.components.SingletonComponent
-import dev.msfjarvis.aps.util.coroutines.DefaultDispatcherProvider
-import dev.msfjarvis.aps.util.coroutines.DispatcherProvider
-
-@Module
-@InstallIn(SingletonComponent::class)
-interface DispatcherModule {
- @Binds fun DefaultDispatcherProvider.bind(): DispatcherProvider
-}
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/crypto/CryptoHandlerModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/crypto/CryptoHandlerModule.kt
deleted file mode 100644
index ef6a11ce..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/crypto/CryptoHandlerModule.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.crypto
-
-import dagger.Module
-import dagger.Provides
-import dagger.hilt.InstallIn
-import dagger.hilt.components.SingletonComponent
-import dev.msfjarvis.aps.crypto.PGPainlessCryptoHandler
-
-@Module
-@InstallIn(SingletonComponent::class)
-object CryptoHandlerModule {
- @Provides fun providePgpCryptoHandler() = PGPainlessCryptoHandler()
-}
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/crypto/KeyManagerModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/crypto/KeyManagerModule.kt
deleted file mode 100644
index a1119a1c..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/crypto/KeyManagerModule.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.crypto
-
-import android.content.Context
-import dagger.Module
-import dagger.Provides
-import dagger.hilt.InstallIn
-import dagger.hilt.android.qualifiers.ApplicationContext
-import dagger.hilt.components.SingletonComponent
-import dev.msfjarvis.aps.crypto.PGPKeyManager
-import dev.msfjarvis.aps.util.coroutines.DispatcherProvider
-import javax.inject.Qualifier
-
-@Module
-@InstallIn(SingletonComponent::class)
-object KeyManagerModule {
- @Provides
- fun providePGPKeyManager(
- @PGPKeyDir keyDir: String,
- dispatcherProvider: DispatcherProvider,
- ): PGPKeyManager {
- return PGPKeyManager(
- keyDir,
- dispatcherProvider.io(),
- )
- }
-
- @Provides
- @PGPKeyDir
- fun providePGPKeyDir(@ApplicationContext context: Context): String {
- return context.filesDir.resolve("pgp_keys").absolutePath
- }
-}
-
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class PGPKeyDir
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/GitPreferences.kt b/app/src/main/java/dev/msfjarvis/aps/injection/prefs/GitPreferences.kt
deleted file mode 100644
index 2947a64d..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/GitPreferences.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package dev.msfjarvis.aps.injection.prefs
-
-import android.content.SharedPreferences
-import javax.inject.Qualifier
-
-/**
- * Qualifies a [SharedPreferences] instance specifically used for encrypted Git-related settings.
- */
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class GitPreferences
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PasswordGeneratorPreferences.kt b/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PasswordGeneratorPreferences.kt
deleted file mode 100644
index 14b3a6f2..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PasswordGeneratorPreferences.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.prefs
-
-import javax.inject.Qualifier
-
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class PasswordGeneratorPreferences
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PreferenceModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PreferenceModule.kt
deleted file mode 100644
index e68a998f..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/PreferenceModule.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package dev.msfjarvis.aps.injection.prefs
-
-import android.content.Context
-import android.content.Context.MODE_PRIVATE
-import android.content.SharedPreferences
-import androidx.security.crypto.EncryptedSharedPreferences
-import androidx.security.crypto.MasterKey
-import dagger.Module
-import dagger.Provides
-import dagger.Reusable
-import dagger.hilt.InstallIn
-import dagger.hilt.android.qualifiers.ApplicationContext
-import dagger.hilt.components.SingletonComponent
-import dev.msfjarvis.aps.BuildConfig
-
-@Module
-@InstallIn(SingletonComponent::class)
-class PreferenceModule {
-
- private fun provideBaseEncryptedPreferences(
- context: Context,
- fileName: String
- ): SharedPreferences {
- val masterKeyAlias =
- MasterKey.Builder(context).setKeyScheme(MasterKey.KeyScheme.AES256_GCM).build()
- return EncryptedSharedPreferences.create(
- context,
- fileName,
- masterKeyAlias,
- EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
- EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
- )
- }
-
- @[Provides PasswordGeneratorPreferences Reusable]
- fun providePwgenPreferences(@ApplicationContext context: Context): SharedPreferences {
- return provideBaseEncryptedPreferences(context, "pwgen_preferences")
- }
-
- @Provides
- @SettingsPreferences
- @Reusable
- fun provideSettingsPreferences(@ApplicationContext context: Context): SharedPreferences {
- return context.getSharedPreferences("${BuildConfig.APPLICATION_ID}_preferences", MODE_PRIVATE)
- }
-
- @Provides
- @GitPreferences
- @Reusable
- fun provideEncryptedPreferences(@ApplicationContext context: Context): SharedPreferences {
- return provideBaseEncryptedPreferences(context, "git_operation")
- }
-
- @Provides
- @ProxyPreferences
- @Reusable
- fun provideProxyPreferences(@ApplicationContext context: Context): SharedPreferences {
- return provideBaseEncryptedPreferences(context, "http_proxy")
- }
-}
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/ProxyPreferences.kt b/app/src/main/java/dev/msfjarvis/aps/injection/prefs/ProxyPreferences.kt
deleted file mode 100644
index 5fa99140..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/ProxyPreferences.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package dev.msfjarvis.aps.injection.prefs
-
-import android.content.SharedPreferences
-import javax.inject.Qualifier
-
-/**
- * Qualifies a [SharedPreferences] instance specifically used for encrypted proxy-related settings.
- */
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class ProxyPreferences
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/SettingsPreferences.kt b/app/src/main/java/dev/msfjarvis/aps/injection/prefs/SettingsPreferences.kt
deleted file mode 100644
index 7bca03c8..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/prefs/SettingsPreferences.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package dev.msfjarvis.aps.injection.prefs
-
-import javax.inject.Qualifier
-
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class SettingsPreferences
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/pwgen/DicewareModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/pwgen/DicewareModule.kt
deleted file mode 100644
index 8aed12de..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/pwgen/DicewareModule.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.pwgen
-
-import android.content.Context
-import dagger.Module
-import dagger.Provides
-import dagger.hilt.InstallIn
-import dagger.hilt.android.components.FragmentComponent
-import dagger.hilt.android.qualifiers.ApplicationContext
-import dev.msfjarvis.aps.passgen.diceware.DicewarePassphraseGenerator
-import dev.msfjarvis.aps.passgen.diceware.Die
-import dev.msfjarvis.aps.passgen.diceware.RandomIntGenerator
-import java.io.InputStream
-import java.security.SecureRandom
-import javax.inject.Qualifier
-
-@Module
-@InstallIn(FragmentComponent::class)
-object DicewareModule {
-
- @Provides
- fun provideDicewareGenerator(
- die: Die,
- @WordlistQualifier wordList: InputStream,
- ): DicewarePassphraseGenerator {
- return DicewarePassphraseGenerator(die, wordList)
- }
-
- @Provides
- fun provideDie(
- intGenerator: RandomIntGenerator,
- ): Die {
- return Die(6, intGenerator)
- }
-
- @Provides
- fun provideRandomIntGenerator(): RandomIntGenerator {
- return RandomIntGenerator { range ->
- SecureRandom().nextInt(range.last).coerceAtLeast(range.first)
- }
- }
-
- @[Provides WordlistQualifier]
- fun provideDefaultWordList(@ApplicationContext context: Context): InputStream {
- return context.resources.openRawResource(
- dev.msfjarvis.aps.passgen.diceware.R.raw.diceware_wordlist
- )
- }
-}
-
-@Qualifier annotation class WordlistQualifier
diff --git a/app/src/main/java/dev/msfjarvis/aps/injection/totp/TotpModule.kt b/app/src/main/java/dev/msfjarvis/aps/injection/totp/TotpModule.kt
deleted file mode 100644
index 859559cd..00000000
--- a/app/src/main/java/dev/msfjarvis/aps/injection/totp/TotpModule.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.injection.totp
-
-import dagger.Binds
-import dagger.Module
-import dagger.hilt.InstallIn
-import dagger.hilt.android.components.ActivityComponent
-import dev.msfjarvis.aps.util.totp.TotpFinder
-import dev.msfjarvis.aps.util.totp.UriTotpFinder
-
-@Module
-@InstallIn(ActivityComponent::class)
-interface TotpModule {
- @Binds fun UriTotpFinder.bind(): TotpFinder
-}