aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com
AgeCommit message (Collapse)AuthorFilesLines
2020-05-14Use absolute paths for custom ports, relative for default portFabian Henneke1-3/+8
2020-05-14Improve Git/HTTPS URL generationFabian Henneke1-16/+22
2020-05-11Add setting for fallback username (#772)Harsh Shandilya4-17/+26
* PasswordEntry: remove useless annotations Turns out VisibleForTesting only applies for documentation purposes. Boo >:( Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntry: silence locale warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add setting for fallback username Fixes #763 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-10Treewide codestyle cleanup (#765)Harsh Shandilya46-651/+709
- Updated gitignore and checked in the IDE's codestyle config - Removed spotless as the underlying ktlint backend has failed to resolve the super frustrating import order bug[1] in nearly a year - Reformat the entire codebase based on the previously committed code style configuration. 1: https://github.com/pinterest/ktlint/issues/527
2020-05-10Miscellaneous UI tweaking (#771)Harsh Shandilya1-16/+1
* Remove dangling UI element and relayout authentication modes * Drop unnecessary actionBarPopupTheme declaration * Improve ssh keygen UI * Commonize button styling * Tweak save button in server config * Tweak generate button in ssh keygen * Commonize OutlinedButton style Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-08Introduce no-auth mode for connections (#768)Harsh Shandilya6-33/+64
Fixes #758 Fixes #526
2020-05-06PasswordEntry: add user to the potential candidates for username (#766)Harsh Shandilya1-0/+1
2020-05-06PasswordEntry: add more potential fields for username (#764)Harsh Shandilya1-2/+13
2020-05-03Better handle non-git repositories (#756)Harsh Shandilya2-35/+39
2020-05-01Confirm password move if it will replace an existing one (#757)Harsh Shandilya1-27/+34
* Confirm password move if it will replace an existing one Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: update Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-29Use official FastScroll fix and refactor PasswordFragment (#753)Fabian Henneke1-11/+6
2020-04-29build: update to openpgp-ktx 2.0 (#749)Harsh Shandilya1-192/+186
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-25Add toggle for debug logging (#745)Harsh Shandilya2-2/+4
2020-04-25Improve UX around settings items (#744)Harsh Shandilya6-132/+103
Fixes #461
2020-04-25Fix search if external root dir starts with a dot (#743)Maxime Catrice1-1/+2
Fixes #740 Co-Authored-By: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-04-24auth: redo implementation with a cleaner and simpler API surface (#741)Harsh Shandilya5-102/+88
2020-04-24Better detect uninitialized repositories and offer to clone (#738)Harsh Shandilya3-3/+15
* PasswordRepository: more comprehensive check for valid repository * PasswordFragment: Give 'repo uninitialized' Snackbar some purpose in life * GitOperationActivity: finish immediately when an unhandled request code is used * PasswordFragment: Make uninitialized repo Snackbar indefinite * spotless Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-22Improve permission handling logic (#732)Harsh Shandilya2-31/+43
* Improve permission handling logic Ensure we always ask for storage permissions when required * Refactor storage permission checks and invert return value * PasswordStore: improve permission grant flow * strings: slightly reword permission grant request message Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-22Fix crash when using type independent sort (#734)Fabian Henneke1-1/+3
2020-04-22Mark Autofill onboarding dialog as seen on dismiss (#731)Fabian Henneke1-3/+8
2020-04-21Never obscure OK button in Autofill onboarding UI (#729)Fabian Henneke1-2/+1
2020-04-21PasswordStore: onboard users to Oreo autofillHarsh Shandilya1-0/+41
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21Application: only install logging tree in debug features buildHarsh Shandilya1-1/+1
We should be at a stability level now that does not require logging in prod Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21treewide: switch to logging via timberktHarsh Shandilya11-56/+70
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21treewide: use getSystemService extension everywhereHarsh Shandilya4-7/+11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21treewide: use edit extension and cleanup some deprecationHarsh Shandilya12-138/+139
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21Remove unused importHarsh Shandilya1-1/+0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21BaseGitActivity: don't remove saved password unnecessarilyHarsh Shandilya1-1/+1
if previousUrl is empty it means that this the first time the method is being called, and url has not been built yet. We let things slide for the first pass so that the actual logic only kicks in when it needs to. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-20Fix protocol validation (#726)Harsh Shandilya3-37/+36
* GitOperation: code cleanup * WIP: Fix validation * Fixup SSH validation * Spotless * Remove logging of MalformedURLException Co-authored-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19Validate hostname protocol before saving (#723)Harsh Shandilya1-4/+25
* RFC: protocol validation * Use java.net.URL for saner parsing * Improve protocol correction; handle ssh:// Co-authored-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19PgpActivity: hide category view when there's no textHarsh Shandilya1-1/+6
Co-Authored-By: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19PasswordFragment: Replace fab options with descriptive bottom sheetHarsh Shandilya3-160/+85
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19PasswordFragment: animate FAB in action modeHarsh Shandilya1-2/+27
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19Work around incompatibility between AndroidFastScroll and ↵Fabian Henneke1-5/+2
recyclerview-selection (#721) * Work around incompatibility between AndroidFastScroll and recyclerview-selection * move hacked recyclerview into separate package Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Make RecyclerViewHelper private static Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-18Resolve lint warningsHarsh Shandilya3-2/+3
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-18SshKeygenTask: fix build errorHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-17Update SSH clear passphrase preference to handle HTTPS (#716)Harsh Shandilya1-7/+33
* Update SSH clear passphrase preference to handle HTTPS Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Explicitly set preference to visible if it can do anything * Address review comments Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-04-17AutofillDecryptActivity: Show toast on Main dispatcher (#717)Harsh Shandilya1-5/+7
Without this the activity will crash rather than display the error Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-17Refactor Git related activities (#685)Harsh Shandilya15-806/+750
* Refactor git logic into separate parts * Extract hardcoded strings * Add KDoc to updateHostname, remove unused field * Cleanups * Fix dialog message * Wire in repository clone flow * spotless * Remove unused method * Cleanup GitActivity - Rename to GitOperationActivity. - Ensure identityBuilder is always closed regardless of what fragment uses it. - Remove hardcoded "Operation" strings and replace with REQUEST_ARG_OP. - Apply a transparent theme to GitOperationActivity make the UI less jarring. * Tweak some stupidly worded dialog messages As pointed out in #629, these strings are shoddily worded and do not express any clear intent to the user, leaving them confused and angry. * GitOperationActivity: wrap Context to ensure right theme is used * spotless * undo build.gradle change * Use correct parent theme, remove now useless wrapping * GitServerConfigActivity: fix repository clone flow * temp: disable leakcanary framework leaks on Samsung are pissing me off * Make system bars transparent in git activity * Tweak HTTPS password layout * Unhardcode wrong passphrase string * Store SSH passphrase in EncryptedSharedPreferences Also revamp the dialog to look a bit better * Implement support for remembering HTTPS password Fixes #521 * Try to patch HTTPS remote creation logic * Update security-crypto * Clear saved passphrase/password on auth failure * Revert "Update security-crypto" Broken on R DP2.1 This reverts commit 4b20371dd42c512a3dd3b759859abb6c1ffd2961. * Revert "temp: disable leakcanary" This reverts commit 2db7d41bd67b79c6dc8c5b359a7b27100379f45f. * Update CHANGELOG * Remove spacer * Remove useless override * Wrap git server activity in a ScrollView * GitOperation: always finish calling activity when dialogs are dismissed * Wipe saved password/passphrase when hostname changes * Don't commit prefs updates * Don't call listFiles excessively * Finish activity after saving configuration * Make ConnectionMode and Protocol enum classes * Change SSH key passphrase key, don't wipe on host change * Reimplement BaseGitActivity.updateUrl (was updateHostname) * Use SharedPreferences.edit KTX extension * Disable inapplicable connection modes depending on scheme * BaseGitActivity: annotate onDestroy with CallSuper We'll leak the identityBuilder connection otherwise * Move input hack for AlertDialog into an extension function We re-use this in many places * Fix protocol/mode toggle issue and consistenly name options * Fix a crash when opening GitServerConfigActivity without a repo * Fix OpenKeychain callbacks by moving onActivityResult to BaseGitActivity * Run spotlessApply Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-04-16Improve SSH private key validation (#713)Fabian Henneke1-58/+29
* Improve SSH private key validation * Address review comment
2020-04-16See file's metadata to validate SSH key (#709)Diogenes Molinares1-8/+44
* See file's metadata to validate SSH key * See file's metadata to validate SSH key * change exception to throw and refactoring * catch IOException and IllegalArgumentException as equal * run ./gradlew spotlessApply * Apply suggestions from code review * validate BEGIN, END markers and size != 0 * Apply suggestions from code review * Update app/src/main/java/com/zeapo/pwdstore/UserPreference.kt * Don't throw on SSH key import failure * Style nits * Codestyle and copy nits Co-authored-by: Fabian Henneke <fabian@henneke.me> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-16Reduce build warnings (#712)Fabian Henneke12-21/+43
* Add annotations to and reformat SearchableRepositoryViewModel.kt * Address build warnings other than meaningful deprecations * Deal with warnings in UserPreference.kt
2020-04-15Address review commentsFabian Henneke1-22/+22
2020-04-15Add a switch between Fuzzy and StrictDomain mode to Autofill search viewFabian Henneke1-58/+62
2020-04-15Add support for "work/example.org.gpg" folder layoutFabian Henneke4-8/+23
2020-04-15Respect encrypted username when filling Autofill generated entryFabian Henneke1-4/+3
2020-04-15Match any path component in StrictDomain FilterModeFabian Henneke1-16/+34
2020-04-15Fix crash on Autofill save introduced by #699 (#706)Fabian Henneke1-16/+22
2020-04-15Improve search logic and UI (#703)Fabian Henneke4-26/+94
* Don't list the current directory in search results * Scroll to top result when search term is changed * Match relative path in StrictDomain filter mode * Improve and document DirectoryStructure null handling Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-14Improve Autofill enable UI and flaky browser list (#704)Fabian Henneke2-7/+13