From 56f777017752df0488b3e54eec02f4b9aed092ce Mon Sep 17 00:00:00 2001 From: Elelan's Macbook Pro Date: Sun, 1 Dec 2024 03:51:38 +0530 Subject: [PATCH 1/5] AOO-27: Implemented Passcode Feature --- app/src/main/AndroidManifest.xml | 83 +++++---- .../opendasharchive/openarchive/SaveApp.kt | 9 +- .../openarchive/core/di/FeaturesModule.kt | 20 +++ .../openarchive/features/core/BaseActivity.kt | 5 +- .../settings/GeneralSettingsActivity.kt | 72 +++++++- .../features/settings/passcode/AppConfig.kt | 9 + .../passcode/BiometricAuthenticator.kt | 55 ++++++ .../settings/passcode/HapticManager.kt | 51 ++++++ .../settings/passcode/PasscodeManager.kt | 67 +++++++ .../settings/passcode/PasscodeRepository.kt | 126 +++++++++++++ .../passcode/components/DefaultScaffold.kt | 51 ++++++ .../passcode/components/NumericKeypad.kt | 117 ++++++++++++ .../passcode/components/PasscodeDots.kt | 36 ++++ .../passcode_entry/PasscodeEntryActivity.kt | 57 ++++++ .../PasscodeEntryScreenContent.kt | 160 +++++++++++++++++ .../passcode_entry/PasscodeEntryViewModel.kt | 83 +++++++++ .../passcode_setup/PasscodeSetupActivity.kt | 63 +++++++ .../PasscodeSetupScreenContent.kt | 166 ++++++++++++++++++ .../passcode_setup/PasscodeSetupViewModel.kt | 87 +++++++++ .../opendasharchive/openarchive/util/Prefs.kt | 39 ++++ app/src/main/res/values/strings.xml | 2 + app/src/main/res/xml/prefs_general.xml | 15 ++ 22 files changed, 1328 insertions(+), 45 deletions(-) create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/AppConfig.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/BiometricAuthenticator.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/HapticManager.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/PasscodeManager.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/PasscodeRepository.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/components/DefaultScaffold.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/components/NumericKeypad.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/components/PasscodeDots.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_entry/PasscodeEntryActivity.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_entry/PasscodeEntryScreenContent.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_entry/PasscodeEntryViewModel.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_setup/PasscodeSetupActivity.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_setup/PasscodeSetupScreenContent.kt create mode 100644 app/src/main/java/net/opendasharchive/openarchive/features/settings/passcode/passcode_setup/PasscodeSetupViewModel.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff19d32d..e4f0878f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,10 +4,11 @@ android:installLocation="auto"> - - - + + @@ -23,6 +24,7 @@ + @@ -42,17 +44,17 @@ + tools:ignore="UnusedAttribute,LockedOrientationActivity" + tools:replace="android:icon,android:allowBackup">