diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2022-07-15 00:53:48 +0530 |
|---|---|---|
| committer | Harsh Shandilya <me@msfjarvis.dev> | 2022-07-15 01:13:47 +0530 |
| commit | 549ee790d3e52bc62565ddf92e6a556e98b5195e (patch) | |
| tree | d5758e5eb80093704e683c8da926838e18182588 /app/src/main/java/dev/msfjarvis/aps/injection | |
| parent | 010c6e227c9cc27f4d01bc912311f977b2aeb3a7 (diff) | |
| download | HardenedPass-549ee790d3e52bc62565ddf92e6a556e98b5195e.tar.gz HardenedPass-549ee790d3e52bc62565ddf92e6a556e98b5195e.zip | |
all: re-do package structure yet again
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/injection')
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 -} |
