protoncore_android/crypto-validator
proton-ci 6880bb0eb7 i18n: Upgrade translations from crowdin (9115a3a2). 2024-04-30 10:13:51 +00:00
..
dagger chore(injection): Modules should be public to allow @TestInstallIn to replace them and avoid hilt to generate a wrapper. 2024-03-26 17:42:06 +00:00
data chore!: Upgraded AGP to 8.0.2 (+Java 17). 2023-07-04 16:22:38 +02:00
domain build: Optimize dependencies. 2022-07-28 16:07:58 +02:00
presentation i18n: Upgrade translations from crowdin (9115a3a2). 2024-04-30 10:13:51 +00:00
README.md Integrate KeyStore fallback into all Clients 2022-01-12 15:50:50 +01:00
build.gradle.kts chore!: Upgraded AGP to 8.0.2 (+Java 17). 2023-07-04 16:22:38 +02:00

README.md

Crypto Validator

It will automatically run as soon as the app becomes visible and if the KeyStoreCrypto is not working properly, it will show a blocking error dialog to the user warning about the issue and allowing them to either continue using the app knowing the security risk or remove all accounts.

To use it you need to add a new initializer and activity to the AndroidManifest.xml:

<provider ...>
    <meta-data
        android:name="me.proton.core.crypto.validator.presentation.init.CryptoValidatorInitializer"
        android:value="androidx.startup" />
    ...
</provider>

<!-- Remember to change this to your app's theme, if applies -->
<activity
    android:name="me.proton.core.crypto.validator.presentation.ui.CryptoValidatorErrorDialogActivity"
    android:theme="@style/ProtonTheme.Transparent" />

Modules:

  • crypto-validator (wraps all the other modules)
  • crypto-validator-data
  • crypto-validator-domain
  • crypto-validator-presentation
  • crypto-validator-dagger

If you want to provide your own dependencies just include -data, -domain and -presentation instead of adding the whole crypto-validator parent module.