aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/crypto
AgeCommit message (Collapse)AuthorFilesLines
2020-12-05Refactor package structure (#1233)Harsh Shandilya4-1159/+0
* 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>
2020-12-02Use countdown chronometer on API 24 and above (#1228)Aditya Wasan1-0/+1
* Use countdown chronometer on API 24 and above Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Do not use SharedPreferences inside ClipboardService ClipboardService run in it's own process and SharedPreferences do not support multiple processes. Due to this changes in notificaion clear time are not reflected to the ClipboardService. This commit fixes that by passing time explicitly from the main app process. Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-11-22Automatically dismiss decryption screen after 60 seconds (#1216)Harsh Shandilya1-0/+13
* Automatically dismiss decryption screen after 60 seconds Fixes #1215 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-01build: compile against SDK 30 and resolve deprecationsHarsh Shandilya1-3/+3
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-05Resolve lock contention from lazy delegates (#1135)Harsh Shandilya3-12/+12
2020-10-02all: refactor ActivityResultContracts usages to adhere to API requirementsHarsh Shandilya1-41/+49
The newest versions of AndroidX Activity and Fragments correctly enforce the requirement for all contracts to be registered at class init or before the lifecycle has reached `Lifecycle.State.STARTED`. To comply with these requirements, move all instances of `registerForActivityResult` being called at arbitrary points in the code to be done at class init. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01PasswordCreationActivity: tweak logic for determining if identifier ↵Harsh Shandilya1-0/+4
selection is needed Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-07UX fixups and improvements (#1086)Harsh Shandilya1-0/+10
* git: re-add back button handling Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hide unsupported authentication methods Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitCommandExecutor: cleanup and address build warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * DecryptActivity: hide menu items until decrypt finishes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitServerConfigActivity: don't finish on failure Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05DecryptActivity: use runCatching to replace exception handlingHarsh Shandilya1-7/+12
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05PasswordCreationActivity: use runCatching to replace exception handlingHarsh Shandilya1-19/+20
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05BasePgpActivity: use runCatching to replace exception handlingHarsh Shandilya1-15/+7
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05GetKeyIdsActivity: use runCatching to replace exception handlingHarsh Shandilya1-2/+4
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05DecryptActivity: properly calculate remaining OTP time on first pass (#1080)Harsh Shandilya1-0/+7
* DecryptActivity: properly calculate remaining OTP time on first pass We default to 30 seconds for each recalculation but the first run might not have 30 seconds left in its period, making the value stale much earlier. While most websites offer another 30 seconds of validity for TOTP codes, many do not, thus making it hard to enter a correct OTP Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-03Refactor Git operations and auth (#1066)Fabian Henneke1-22/+17
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23Prevent racing double commits on password creation (#1047)Fabian Henneke1-6/+8
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Merge branch 'release' into developHarsh Shandilya1-9/+1
* release: build: bump version Update CHANGELOG Revert "Reland symlink support (#1020)" Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Revert "Reland symlink support (#1020)"Harsh Shandilya1-9/+1
This does not work below API 27. Fixes #1032 This reverts commit 087ab547c123e90eb4207bfe9080486d54fbf3ef.
2020-08-20Sort by recently used (#1031)Diogenes Molinares1-0/+14
* Sort passwords by recently used * reformat * modified CHANGELOG.md * restore format CHANGELOG.md * added new sharedPreferences file to manage recent password history * associate timestamp when rename category * associate timestamp when rename password * reformat * Update CHANGELOG.md Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * use kotlin edit extension * Add changelog entry correctly Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Save paths as Base64 hashes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Missed it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-14Reland symlink support (#1020)Fabian Henneke1-1/+9
* Add symlink support to JGit (#1016) * Add symlink support to JGit * Fix a typo Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> * Prevent crash when following a broken symlink Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-13Restore workaround for preventing empty commits (#1019)Harsh Shandilya1-23/+13
* Revert "Add symlink support to JGit (#1016)" This reverts commit 5032696cec9da86c2ad97b9931e8d85feb18da0c. * Restore workaround for empty commits and document commands Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update app/src/main/java/com/zeapo/pwdstore/git/GitCommandExecutor.kt
2020-08-11Switch to URL-based Git config and refactor Git settings (#1008)Fabian Henneke2-3/+4
* Make Git config URL-based and refactor * Use Kotlin style null handling for string prefs * Also show an error if generated URL can't be parsed * Add some testcases for migration strategy Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Disable automatic copy on decrypt by default (#1006)Harsh Shandilya1-1/+1
Fixes #476 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Prompt user to install OpenKeychain when missing (#1005)Harsh Shandilya1-3/+59
* Prompt user to install OpenKeychain when missing Fixes #996 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-06Refactor uses of applicationContext and startActivityForResult (#997)Fabian Henneke2-3/+4
* Refactor uses of applicationContext and startActivityForResult This commit applies three types of refactoring: 1. Remove context argument from PasswordRepository companion functions by relying on Application.instance. 2. Introduce a sharedPrefs extension function on Context that returns the default SharedPreferences for the applicationContext. 3. Use OpenDocument() and OpenDocumentTree() contracts. * Drop toPasswordItem argument
2020-08-05Remove GitAsyncTask and replace with non-blocking coroutines (#865)Harsh Shandilya1-11/+16
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-29Upgrade to Kotlin 1.4 (#978)Harsh Shandilya1-2/+1
* build: uprev to Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove explicit type argument Not required anymore with Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: enable Kotlin 1.4 language features Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: add trailing commas where reasonable Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-07-29Fix TOTP import button check semantics (#982)Harsh Shandilya1-5/+3
* Improve TOTP checking semantics Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix return label Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * update CHANGELOG Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Move updateViewState() call outside with(binding) scope Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-27Add specific warning for short key IDs in .gpg-id (#974)Fabian Henneke1-1/+5
2020-07-23Wire in fallback key selection flow (#958)Harsh Shandilya2-131/+235
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-23Fix OpenPgpApi extra type confusion (#960)Fabian Henneke1-1/+1
2020-07-23Fix a crash when parsing long key IDs (#959)Fabian Henneke1-2/+2
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-16Remove manual key selection and start actually using `.gpg-id` (#916)Harsh Shandilya4-132/+109
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-14Properly guard against invalid renaming (#929)Harsh Shandilya1-5/+10
2020-07-08global: set an import order rule and reformat with it (#924)Harsh Shandilya3-9/+12
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-07Major UI overhaul and the introduction of a new icon (#920)Harsh Shandilya1-2/+6
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-01Run a treewide reformat (#908)Fabian Henneke1-2/+0
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-07-01Use PreferenceKeys file to manage SharedPreferences keys. (#891)Aditya Wasan4-8/+13
* Use PreferenceKeys file to manage SharedPreferences keys. Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Use PreferenceKeys in all files Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Divide PreferenceKeys into multiple regions Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix build error Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Use PreferenceKeys in more files Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Reformat code Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix build error Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix merge issues Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-06-30Revert "Support directly importing secrets" (#904)Harsh Shandilya1-5/+1
2020-06-30Allow importing TOTP configuration through QR codes (#903)Harsh Shandilya1-8/+38
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-06-29Offer TOTP Autofill for OTP fields (#899)Fabian Henneke1-6/+1
2020-06-29Reintroduce TOTP support (#890)Harsh Shandilya3-13/+52
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-06-21PasswordCreationActivity: properly guard rename codeHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-18Avoid destination's file outside repository (#861)Diogenes Molinares1-0/+6
2020-06-18Update state of encrypt username checkbox onCreate (#859)Fabian Henneke1-0/+1
2020-06-14Properly support password renaming (#852)Diogenes Molinares1-18/+49
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-12Break down PGP Activity into focused sections (#776)Harsh Shandilya5-788/+857
2020-06-10Replace FileUtils with Kotlin stdlib calls (#843)Fabian Henneke1-9/+1
2020-06-10Remove Apache Commons dependencies (#840)Diogenes Molinares1-5/+4
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-31Completely revamp decrypted password screen (#817)Harsh Shandilya1-130/+46
* Completely revamp decrypted password screen Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-05-28Remove HOTP/TOTP support (#806)Harsh Shandilya1-154/+4