| Age | Commit message (Collapse) | Author | Files | Lines |
|
* Compile against SDK 33
* autofill-parser: fix warnings for SDK 33 upgrade
* app: fix warnings for SDK 33 upgrade
* Mark all clipboard content as sensitive from crypto activities
* Skip Snackbar on Android 13 and above
* detekt: raise `TooManyFunctions` limit to 15
|
|
* Fix decrypt activity items being editable
* Remove unused resources and re-roll lint baseline
* Make lint mark all warnings as errors
|
|
|
|
* autofill-parser: add missing `@RequiresApi` annotations
* app: remove unused strings and sync with Crowdin
* app: remove unused chip_text_color selector
* app: remove unused capitalization_type_values array
* app: add `PendingIntent.FLAG_IMMUTABLE` flag where required
|
|
Co-authored-by: GitHub Actions <noreply@github.com>
|
|
|
|
Co-authored-by: GitHub Actions <noreply@github.com>
|
|
* themes: tweak Chip text appearance
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* app: tweak git server settings UI
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* app: remove unused resources
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Co-authored-by: Fabian Henneke <fabian@hen.ne.ke>
|
|
Fixes #1254
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
* Improve Autofill UI and enable inline presentations
Improves the Autofill UI in the following ways:
* Add support for Android 11 inline presentations of Autofill datasets.
* Instead of showing the identifier (app name or web origin) of the
current app on top of every Autofill dataset, it is now shown 1) as a
header dataset on Android 9 and 10 as well as 2) at the top of the
search activity on all supported versions of Android. Rationale: The
identifier is only used in trust decisions when choosing an existing
entry to fill and should feature prominently in that view, not
elsewhere.
* Show the actual identifier part of a matched entry's path, which may
differ from the identifier of the matched app/website.
* Slightly tweak the labels of Search/Generate Autofill actions to
indicate that a) this is about entries and b) the user may skip the
generation of a password and supply a custom one as well.
* Suppress lint error
* Address review comments
* Add a fixme about properly handling fill-in datasets
* CHANGELOG: add entry for inline presentation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove unused parameter
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* autofill: remove Accessibility backend
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: update
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* strings: sync from Crowdin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* build: disable ImpliedQuantity lint
I hope our translators know better
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
|
|
|
|
|
|
* PasswordItem: only strip .gpg suffixes
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add preference key and migration for showing all hidden contents
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Allow showing both hidden files and directories
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add tests for hidden folder setting migration
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Slightly improve migration logic
Skip migration if old key is not found and always delete the previous key even if its set to false.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Tweak wording
Suggested-by: Fabian Henneke <fabian@henneke.me>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Assert previous key's removal in tests
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* 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>
|
|
|
|
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
|
|
Co-authored-by: Fabian Henneke <fabian@henneke.me>
|
|
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
|
|
|
|
* 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>
|
|
* Switch password authentication over to SSHJ
* Address review comments and refactor further
|
|
|
|
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Fixes #461
|
|
|
|
* 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>
|
|
* 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>
|
|
* 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>
|
|
* 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>
|
|
|
|
* 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>
|
|
russian translation at 99%
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
delete dialog format string
dialog text format
|
|
|
|
* Rename classes to not be ugly as all hell
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* PgpActivity: Cleanup
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Rewrite pwgen package in Kotlin
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* PRNGFixes: Remove constant conditions
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
|
|
* use full password path in add/edit git commit message
* commit strings are format strings
* use format strings in other languages
* use move/rename commit message
|