aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/res
AgeCommit message (Collapse)Author
2020-05-31app: main: res: add bools.xml with LeakCanary debug build config (#821)Simao Gomes Viana
According to https://square.github.io/leakcanary/recipes/#leakcanary-in-release-builds this is necessary. As of now, the latest snapshot build crashes when starting. This is needed to prevent that.
2020-05-31Completely revamp decrypted password screen (#817)Harsh Shandilya
* 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-30Switch password authentication over to SSHJ (#811)Fabian Henneke
* Switch password authentication over to SSHJ * Address review comments and refactor further
2020-05-30Fix i18n fr (#813)Élie Bouttier
2020-05-28Remove HOTP/TOTP support (#806)Harsh Shandilya
2020-05-28Configure IME options and focus direction (#805)Harsh Shandilya
2020-05-26Introduce better R8 optimizations (#796)Harsh Shandilya
2020-05-23Make connection mode a <= 1 toggle group to prevent UI overflow (#778)Fabian Henneke
2020-05-14Add specific error messages to GitServerConfigActivityFabian Henneke
2020-05-14treewide: Reformat XML resources again (#774)Fabian Henneke
2020-05-13treewide: fix copyright template and apply to all files (#773)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-11Add setting for fallback username (#772)Harsh Shandilya
* 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 Shandilya
- 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 Shandilya
* 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 Shandilya
Fixes #758 Fixes #526
2020-05-03Better handle non-git repositories (#756)Harsh Shandilya
2020-04-29Use official FastScroll fix and refactor PasswordFragment (#753)Fabian Henneke
2020-04-28Fix Autofill icons in dark mode (#748)Fabian Henneke
2020-04-25Add toggle for debug logging (#745)Harsh Shandilya
2020-04-25Improve UX around settings items (#744)Harsh Shandilya
Fixes #461
2020-04-24auth: redo implementation with a cleaner and simpler API surface (#741)Harsh Shandilya
2020-04-24Better detect uninitialized repositories and offer to clone (#738)Harsh Shandilya
* 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 Shandilya
* 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-21PasswordStore: onboard users to Oreo autofillHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19PasswordFragment: Replace fab options with descriptive bottom sheetHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19PasswordFragment: animate FAB in action modeHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19Work around incompatibility between AndroidFastScroll and ↵Fabian Henneke
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-17Update SSH clear passphrase preference to handle HTTPS (#716)Harsh Shandilya
* 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-17Refactor Git related activities (#685)Harsh Shandilya
* 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 Henneke
* Improve SSH private key validation * Address review comment
2020-04-16See file's metadata to validate SSH key (#709)Diogenes Molinares
* 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-15Add a switch between Fuzzy and StrictDomain mode to Autofill search viewFabian Henneke
2020-04-15Add support for "work/example.org.gpg" folder layoutFabian Henneke
2020-04-14Improve Autofill enable UI and flaky browser list (#704)Fabian Henneke
2020-04-10Modernize legacy RecyclerView adapters (#694)Fabian Henneke
* Modernize legacy RecyclerView adapters Introduces new adapters based on the SearchableRepositoryViewModel and using androidx.recyclerview.selection for multiselection support. The following positive effects in behavior are observable to end-users: - Search and navigation actions are executed on IO threads. - RecyclerViews are now animated during searches (but not navigations). - Exact scroll position is restored when navigating back. - The ActionBar title is updated with the current folder name. The following negative effects may warrant attention: - Support for the "always search from root" setting has been removed. - Due to a limitation of the fast scroll dependency, using the scroller may result in unwanted multiselections. If this is not fixed in the library, native fast scroller capabilities could be used, but these are more limited in appearance and to not offer popups. * Fix lint * Fix FastScroller/SelectionTracker incompatibility * Immediately react to settings changes * List directory entries when search term is blank * Use isEmpty() instead of == "" * Replace adapter inheritance with builders and fix selection drags * Remove dividers in password lists * Run spotlessApply * Use a more logical string in action mode * Commonize and constify path bundle key * Make lambda parameter name explicit Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-07pull translations from transifex (#691)Hussein Al Abry
russian translation at 99%
2020-04-07Modernize file listing and search in AutofillFilterActivity (#683)Fabian Henneke
* WIP: Modernize file listing and search * Refactor * Implement fuzzy search * Improve ViewModel API and introduce Adapter * Integrate new search into AutofillFilterActivity and dedebounce * Improve no results layout * Reformat * Highlight origin in FileBased directory structure * Extract highlighting logic into DirectoryStructure * Trim whitespace before searching * Remove debug logging * Remove more debug logging * Organize imports * Remove imports * Update app/src/main/java/com/zeapo/pwdstore/SearchableRepositoryViewModel.kt Co-Authored-By: Harsh Shandilya <me@msfjarvis.dev> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-06Fix AutofillFilterActivity icons in dark mode (#689)Fabian Henneke
2020-03-29Significantly improve app theming (#679)Harsh Shandilya
* Update CHANGELOG * Use outlined box style in folder creation dialog * Add user-facing choice for app theme Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-25Make preferred directory structure for Autofill configurable (#660)Fabian Henneke
Some users keep their password files in a directory structure such as: /example.org/john@doe.org.gpg while others prefer the style: /example.org/john@doe.org/password.gpg This commit adds a setting that allows to switch between the two. All Autofill operations, such as search, match, generate and save, respect this setting. Note: The first style seems to be the most widely used and is therefore kept as the default. The second style is mentioned on the official Pass website at: https://www.passwordstore.org/#organization
2020-03-24Add support for Oreo Autofill (#653)Fabian Henneke
Adds support for the Autofill feature first available in Android Oreo. In compatible apps and browsers, login forms are automatically detected and the user is presented with options to fill or generate credentials. In most apps and certain browsers, the service will also offer to create new Password Store entries from credentials entered into login forms. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-21Revise copy (#656)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-07Show snackbar when git repo is not initialized (#651)Aditya Wasan
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-03-05Resolve various memory leaks (#637)Harsh Shandilya
This migrates the clipboard clear logic into a foreground service that allows us to also provide a notification that runs the clear task immediately on click, rather than wait for the timeout. Co-authored-by: Aditya Wasan <adityawasan55@gmail.com> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-01swipe to refresh using androidx SwipeRefreshLayout (#645)glowinthedark
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-01Add xkpasswd-style password generator (#633)glowinthedark
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-02-20Better UI flow (#630)Gigahawk
* Filter against entire pathname when searching * Add option to directly open search dialog on start * Replace basic search filter with fuzzy search * Update CHANGELOG Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Open search in onResume, force search icon to always show * Add option to always search from root directory Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-02-01Theming related fixes (#627)Harsh Shandilya
* Make navigation match window background Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Remove light navigation flag Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Use black navbar in light theme windowLightNavigationBar is not portable across API 23 to 29 so we're better off with this solution Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Simplify folder dialog title UI Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Make night theme completely flat Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Remove unnecessary type Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> * Don't try to use non-existent external repo Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-01-28Allow creating folders (#623)Harsh Shandilya
* Introduce EmitExpandableTransformationBehaviour * Implement expand transition * More folder work * Add icons and tweak layout clipping Rishi again with the icon rescue * Theming rework * Dont set tag * Update list and commit after creating folder * Fix theme issues * Add dialog title * Fix hint text color * Remove commit method * Cleanup * Update CHANGELOG Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-01-26Add fastscroller with alphabetic hints (#616)Harsh Shandilya
* Setup basic fast scroll Work towards #558 * Implement PopupTextProvider Fixes #558 * Update changes * Hide system scrollbars * Port fastscroll to autofill preferences * Spotless Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>