aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/ui/crypto
AgeCommit message (Collapse)AuthorFilesLines
2022-07-15all: re-do package structure yet againHarsh Shandilya7-1968/+0
2022-06-09Upgrade ktfmt (#1942)Harsh Shandilya2-10/+14
* build-logic: upgrade ktfmt * all: reformat
2022-05-27Fix ClipboardService crash (#1928)Harsh Shandilya3-3/+3
* Fix clipboard service crash on API 31 * all: use ints directly for SDK version checks I much prefer it this way
2022-04-25all: reformat with ktfmt 0.36Harsh Shandilya4-210/+220
2022-03-11Fix TOTP field flashing on each update (#1779)Harsh Shandilya2-0/+2
* Fix TOTP field flashing on each update * Add missing changelog entry
2022-03-10Show remaining time in TOTP field (#1766)Harsh Shandilya2-17/+7
* Pass down remaining time for TOTPs to UI layer * format-common: switch TOTP flow to use co-operative cancelation * format-common: add a regression test for OTP duration calculation * Abstract out labels * Switch to launchIn
2022-02-09chore(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle ↵renovate[bot]2-11/+11
to v6.2.2 (#1718) Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-02-01Refactor PasswordEntry TOTP calculation into a cold flow (#1702)Harsh Shandilya4-22/+12
2022-01-21Add support for properly dealing with incorrect passwords (#1672)Harsh Shandilya2-23/+70
2022-01-09Make PGPainless backend feature flag runtime configurable (#1654)Harsh Shandilya1-2/+5
* Make feature flags runtime configurable * Add a settings entry for PGPainless feature flag * Add changelog entry
2022-01-09Integrate PGPainless backend into the UI properly (#1647)Harsh Shandilya3-26/+63
2022-01-09Make CryptoHandler use Key as the abstraction layer (#1651)Harsh Shandilya2-2/+4
2021-12-21app: integrate diceware UIHarsh Shandilya2-0/+8
2021-12-21app: remove XkPasswd generatorHarsh Shandilya2-8/+0
2021-12-10build(deps): bump kotlinx-coroutines-test from 1.6.0-RC to 1.6.0-RC2 (#1586)dependabot[bot]2-6/+10
2021-12-07Allow importing TOTP from images (#1580)Aditya Wasan2-12/+102
* feat(aps): allow importing TOTP code from an image containing a QR code Signed-off-by: Aditya <adityawasan55@gmail.com> * Reorder OTP import options and implement it for V2 * Replace try-catch with runCatching * Use the correct TextWatcher extension at the right place Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-11-13Update dependencies (#1540)Harsh Shandilya4-8/+6
2021-11-07Cleanup extra content handling (#1536)Harsh Shandilya2-18/+24
* BasicBottomSheet: remove unnecessary custom background Fixes: 88c9a0d487ca ("app: refactor M3 themes and styles") * FieldItemAdapter: fix typo ClipBoard -> Clipboard * FieldItemAdapter: fix RV binding idempotency * app: refactor FieldItemAdapter population logic * DecryptActivityV2: wire in missing 'show password' toggle
2021-11-04Fix password saving for V2 backend (#1534)Harsh Shandilya1-0/+2
2021-10-23Switch new PGP backend to use PGPainless (#1522)Harsh Shandilya2-5/+18
* crypto-pgpainless: init * crypto-pgpainless: add an opinionated CryptoHandler impl * app: migrate to crypto-pgpainless * crypto-pgp: remove * github: remove now unused instrumentation tests job * crypto-common: fixup package names * wip(crypto-pgpainless): add `PGPKeyPair` and `PGPKeyManager` Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> (cherry picked from commit 02d07e9e797a8600cc8c534a731dfffcc44cfdde) * crypto-pgpainless: use hex-encoded key IDs * crypto-pgpainless: replace legacy Gopenpgp-generated key file * crypto-pgpainless: fix CryptoConstants source set * crypto-pgpainless: fix tests * crypto-pgpainless: reinstate PGPKeyManager tests Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-10-03Replace Timber with logcat (#1509)(´⌣`ʃƪ)5-20/+30
* Replace Timber with logcat (#1505) * Add extension for asLog which takes a message param Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-09-14Gopenpgp related fixes (#1503)Harsh Shandilya3-13/+18
* app: rename new crypto activities (cherry picked from commit 89be012f995b878affb7e7a592750e130c7f0f2c) * app: allow alt backends to work without OpenKeychain (cherry picked from commit 7bf9f01e5ef7bb24700ce3f242e5aabbabbff09e) * app: rename ENABLE_GOPENPGP to ENABLE_PGP_V2_BACKEND
2021-09-03Bump dependencies for Kotlin 1.5.30 (#1497)Harsh Shandilya4-16/+12
2021-07-11Add initial implementation of Gopenpgp-backed PGP (#1441)Harsh Shandilya2-0/+609
2021-05-30BasePgpActivity: inject settings through HiltHarsh Shandilya1-2/+5
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30app: use unsafeLazy everywhereHarsh Shandilya3-23/+14
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-23app: use `PasswordEntry#extraContentString` for editingHarsh Shandilya1-4/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-15all: reformat with Spotless againHarsh Shandilya4-43/+128
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-30Refactor openpgp-ktx to leverage coroutines (#1398)Harsh Shandilya3-139/+135
* openpgp-ktx: leverage coroutines for async IPC * Unwind nested dispatchers * Fix name shadowing warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-28Upgrade to Kotlin 1.5 (#1397)Harsh Shandilya1-2/+2
* build: upgrade Kotlin to 1.5.0 and Hilt to 2.35.1 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: address kotlin.time.seconds deprecation Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * autofill-parser/openpgp-ktx: require Kotlin 1.5 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: address string method deprecations Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: disable NewApi lint Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-25Do not ASCII armor files when encrypting (#1396)Harsh Shandilya1-1/+1
2021-04-21Support creating pinned shortcuts directly (#1393)Harsh Shandilya2-23/+0
* CHANGELOG: update for pinning support * PasswordFragment: support pinning * PasswordStore: use `PasswordItem#createAuthEnabledIntent` * PasswordItem: add `createAuthEnabledIntent` API * DecryptActivity: remove last changed time Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-18Remove hand-rolled CoroutineScope and fix inverted conditions (#1386)Harsh Shandilya1-2/+2
2021-04-18app: switch to format-common's PasswordEntryHarsh Shandilya2-28/+27
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-08Declare and check for camera features (#1375)Harsh Shandilya1-15/+21
* app: set feature requirements * Don't offer QR import option if no camera is present Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-26DecryptActivity: use correct TOTP period (#1359)Harsh Shandilya1-2/+2
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-21Inform users that GPG key selection is mandatory (#1355)Harsh Shandilya1-0/+3
* Inform users that GPG key selection is mandatory Fixes #1342 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * changelog: sync for 1.13.4 release Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * changelog: add GPG key selection improvements Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18all: reformat with ktfmtHarsh Shandilya4-867/+828
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18all: update copyrightsHarsh Shandilya4-4/+4
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-13Append trailing newline to `.gpg-id` during creation (#1344)Harsh Shandilya1-1/+1
2021-02-19Parse extra content into key value pairs (#1321)Aditya Wasan1-63/+39
* ui: add skeleton recyclerview to parse extra content Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * ui: add recyclerview and update PasswordEntry to create map of key-value pairs Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * password-entry: When key-value pair is not correctly formed, display it as Extra Content Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix formatting Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * bug: update otp code on main thread Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add complete string if key-value pair cannot be formed Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * test: add a few tests for key-value parsing logic Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * prefs: remove SHOW_EXTRA_CONTENT from shared preferences Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Update CHANGELOG.md * Cleanup and refactor Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntryTest: silence nullability warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntry: simplify constructor Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntry: annotate test-enablement visibility Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Reintroduce the catch-all field Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * update parsing logic Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * add one more test case Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add missing newlines Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unnecessary scrollview Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * rv: do not return if hasExtraContent is false Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Don't anchor RV to bottom Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-18Implement manual TOTP import and cleanup password generators (#1320)Harsh Shandilya1-6/+33
2021-02-15Add tests for GPG identifier parsing (#1319)Harsh Shandilya1-35/+2
2021-01-27Disallow overwriting passwords when editing (#1286)Harsh Shandilya1-1/+4
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-01-22Codestyle churn (#1283)Harsh Shandilya3-9/+9
* editorconfig: delete Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * idea: adjust codestyle Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: reformat with simplified import ordering rules Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-08app: cleanup how we handle menu item presses (#1275)Harsh Shandilya2-2/+5
Fixes #1274 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-10Try to fix missing `.gpg-id` files as well (#1246)Harsh Shandilya1-4/+1
2020-12-05Refactor package structure (#1233)Harsh Shandilya4-0/+1159
* idea: default test runner to Gradle * Kick off package structure revamp * Reparent all classes under dev.msfjarvis.aps Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>