| Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
* Add onboarding flow from v2
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Minor fixes
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Add changelog entry
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Remove old activity from manifest
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Remove view type prefix from view ids
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Review fixes
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Treewide: Reformat code
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Moar review fixes
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Revert "Treewide: Reformat code"
This reverts commit 348ef0050942526a55890b245afec8d7fee4d81e.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* onboarding: cleanup OnboardingActivity init
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove unused layout
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove unnecessary ConstraintLayout
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Shorten animation duration
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* onboarding: use viewBinding extension in fragments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* OnboardingActivity: fix directory change option
Add an else clause to cover the case when storage permission is granted already
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* all: rename permission grant method
The new name is a bit more explicit about its purpose
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* UserPreference: add static method for external directory selection intent
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
|
|
* 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>
|
|
* 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
|
|
|
|
* 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>
|
|
* Replicate key selection flow
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Review fixes
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Set --user 0 in adb options to prevent automatically installing to work profile
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Fix committing regression
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* 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
|
|
Co-authored-by: Fabian Henneke <fabian@henneke.me>
|
|
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* Move git directory selection to ActivityResultContracts
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* global: replace all android.app.Activity references
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* res: resolve ObsoleteSdkInt lint warning
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* layout: silence some overdraw warnings
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* PasswordFragment: address deprecation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* PasswordStore: start addressing deprecation warnings
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* autofill: silence deprecation warnings for legacy implementation
I don't want to ever touch these files
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Reset scrollTarget after use
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Refresh password list after each swipe
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Convert if to when
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Migrate UserPreference to ActivityResultContracts
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Also validate result in git directory selection
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* AutofillSaveActivity: Switch to ActivityResultContracts
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* AutofillDecryptActivity: Switch to ActivityResultContracts
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* AutofillFilterActivity: Switch to ActivityResultContracts
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Improve deletion flow
- Silently delete empty directory
- Always refresh password list upon completion
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Uniform naming for activity result handlers
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
|
|
|
|
|
|
|
|
* Refactor password generation
* Update Extensions.kt
* Update app/src/main/java/com/zeapo/pwdstore/pwgen/PasswordGenerator.kt
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
|
|
|
|
|
|
* Reset PasswordFinder retry state after authentication
* Memorize password inbetween Git commands
|
|
- 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
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* 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>
|
|
Add rules that match password/username fields even if no heuristic matches, but
only when the user explicitly requests Autofill. Since there is now a generic
way to always trigger Autofill (at least in apps), other rules no longer need
to match fields that fail the heuristics.
Along the way, the apply functions in AutofillStrategy.kt are renamed to match
in order to not conflict with the Kotlin apply() extension function.
Furthermore, named parameters are used more widely now to pass around Booleans.
|
|
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>
|
|
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
|
|
While we're here, also clarify we're strictly GPL-3.0 and not automatically
opting into future revisions of the license.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
|
|
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
|
|
Caveats:
- The openpgp preference had to be removed because the open-intents developers are too lazy to update their libraries. Over the coming weeks I will be reimplementing a local solution for this instead.
- The autofill dialog is broken but I since it is being worked on in #410 already I'm not going to bother fixing it.
|
|
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
|