Commit graph

203 commits

Author SHA1 Message Date
Harsh Shandilya
f49d9c35e6
Merge remote-tracking branch 'origin/release' into release-catchup
* origin/release:
  Bump version
  Prepare release 1.9.2
  update changelog
  Workaround to prevent crash on first run (#898)
  build: bump version
  Prepare release 1.9.1
  Backport Actions fixes (#894)
  Remove API 30 from pull request test matrix (#879)
  CHANGELOG: reword to better clarify fixes
  Prevent cached passwords from being wiped (#884)
  Use remembered credential even if it is empty (#880)
  Reset SSH passphrase after SSH key import (#885)
  Add relnotes for #871 (#872)
  Add org.gnu.icecat as a trusted multi-origin browser (#871)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-01 13:08:55 +05:30
Harsh Shandilya
5e74507d5b
Allow importing TOTP configuration through QR codes (#903)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-06-30 19:21:49 +05:30
Harsh Shandilya
1a8e9ec1e4
Bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-30 15:14:39 +05:30
Fabian Henneke
8bc662c9c0
Offer TOTP Autofill for OTP fields (#899) 2020-06-29 10:12:19 +02:00
Harsh Shandilya
063c1a1144
Reintroduce TOTP support (#890)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-06-29 12:08:59 +05:30
Harsh Shandilya
56c301dc7c
Sync with release branch (#896) 2020-06-28 22:36:20 +05:30
Harsh Shandilya
52808fb126
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-28 21:34:26 +05:30
Harsh Shandilya
3f4e9b4757
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-22 02:46:03 +05:30
Harsh Shandilya
693485be8c
build: bump version to 1.9.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-22 02:45:11 +05:30
Harsh Shandilya
d8231e112a
Break down PGP Activity into focused sections (#776) 2020-06-12 20:28:15 +05:30
Harsh Shandilya
f3c9733d69
Dependency updates (#844)
* build: uprev dependencies, add leakcanary plumber to patch leaks at runtime

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: upgrade security-crypto

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: fix copypasta fail

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-11 11:38:10 +02:00
Diogenes Molinares
0050deb501
Remove Apache Commons dependencies (#840)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-10 14:05:03 +05:30
Harsh Shandilya
523f2afc53
build: Upgrade all dependencies (#803)
* build: upgrade all dependencies

We've accumulated a fat backlog here that's gonna need some heavy testing

* build: adjust for WhatTheStack upgrade

This is now automatically initialized

* build: downgrade security-crypto

* build: upgrade to Gradle 6.4

* idea: sync from AS 4.1.x

* build: bump AGP to 4.0.0

* build: disable Jetifier

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-05-31 13:12:15 +05:30
Harsh Shandilya
e7463ec24c
Remove HOTP/TOTP support (#806) 2020-05-28 22:42:13 +05:30
Fabian Henneke
97911c5877
Use SSHJ for SSH public key authentication (#801) 2020-05-28 09:57:30 +05:30
Harsh Shandilya
6ee19f79e7
Introduce and switch to FragmentViewBindingDelegate (#797)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-27 00:14:10 +05:30
Harsh Shandilya
eb936e1f36
Introduce better R8 optimizations (#796) 2020-05-26 21:43:41 +05:30
Harsh Shandilya
0146b5ae94
build: prepare next development revision
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-24 16:22:07 +05:30
Harsh Shandilya
ffeb4c17d3
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-24 16:21:05 +05:30
Harsh Shandilya
90750b976d
build: prepare next development revision
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23 15:47:45 +05:30
Harsh Shandilya
ffe16e3488
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23 15:47:15 +05:30
Fabian Henneke
d695d21497
Make APS buildable on F-Droid (#762)
* Include lib-publicsuffixlist in tree with proper license attribution

* Exclude lib-publicsuffixlist from code style

* Move applicationId to app/build.gradle

* build: add distributionSha256Sum to Gradle

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Initial workflow configuration for PSL update

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Initial check-in of PSL data

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-12 11:17:08 +02:00
Harsh Shandilya
edc6dcda88
build: update to openpgp-ktx 2.0 (#749)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-29 11:01:22 +05:30
Harsh Shandilya
27cc0728d4
build: prepare next release
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-29 03:15:05 +05:30
Harsh Shandilya
1e67936751
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-29 03:12:29 +05:30
Harsh Shandilya
b3f6fc20c4
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-23 12:54:09 +05:30
Harsh Shandilya
9a843b08f3
build: bump version for patch release
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-23 12:52:24 +05:30
Harsh Shandilya
0c0649b86d
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 18:39:02 +05:30
Harsh Shandilya
ec0d478b85
build: bump version to 1.7.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 18:39:01 +05:30
Harsh Shandilya
3d0850fa1f
build: inline versionCode and versionName at destination
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 18:39:01 +05:30
Harsh Shandilya
b94b52a42d
Refactor Git related activities (#685)
* 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-17 18:36:07 +05:30
Fabian Henneke
d6db10e089 Match any path component in StrictDomain FilterMode 2020-04-15 22:47:41 +05:30
Harsh Shandilya
f21b6426af
Switch refactored entities to ViewBinding (#695)
* build: Enable ViewBinding

* autofill: oreo: Switch to ViewBinding

* PasswordFragment: switch to ViewBinding

* AutofillPublisherChangedActivity: use with(binding) { } syntax

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-11 01:07:49 +05:30
Fabian Henneke
575ef84726
Modernize legacy RecyclerView adapters (#694)
* 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-10 16:48:42 +05:30
Fabian Henneke
e3a49e2632
Modernize file listing and search in AutofillFilterActivity (#683)
* 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-07 02:26:52 +05:30
Fabian Henneke
bebe434683
Add support for Oreo Autofill (#653)
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-24 14:03:40 +01:00
Harsh Shandilya
29f124a0bc
Upgrade all dependencies (#649)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-07 17:45:18 +05:30
Harsh Shandilya
73058d10a8
Resolve various memory leaks (#637)
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-05 21:05:50 +05:30
glowinthedark
09005f8043
swipe to refresh using androidx SwipeRefreshLayout (#645)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-01 02:20:09 +05:30
Harsh Shandilya
74bb1c4357
Autofill UX improvements and code cleanup (#626)
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-30 20:01:06 +05:30
Harsh Shandilya
d350a27611
Update license headers (#625)
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-30 01:00:20 +05:30
Harsh Shandilya
ab5aebeda3 Improved debugging tools (#620)
* Add WhatTheStack

* Add leakcanary

* Codestyle nit

* Support snapshot builds for debug tooling

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-27 23:24:04 +05:30
Harsh Shandilya
27e1952375 Add fastscroller with alphabetic hints (#616)
* 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>
2020-01-26 11:49:45 +05:30
Harsh Shandilya
2c78470642
Switch to Timber for logging (#617)
* Switch to Timber for logging

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>

* Update changelog

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>

* Fix rebase error

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-26 11:35:10 +05:30
Harsh Shandilya
382ab97b7c Update and cleanup dependencies (#607)
* Remove unused cardview dependency

* Remove unused test dependencies and update junit

* Update spotless

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-11 17:50:00 +05:30
Harsh Shandilya
d5a744bd37 Prepare for new Play Store listing (#602)
* Gradle cleanup

* Update package name

* Remove release APK from git

This should have never been here

* Move package name to dependencies.gradle

* github: Setup caching for gradle

* Update Play Store art

* gradle: Use constraints API in place of deprecated force

* Update dependencies

* Raise minSdk to 23

* Target SDK 28 for now

External storage handling changes are atrocious to support in this codebase so we'll be holding out as far as we can.

* Revert "Opt into legacy external storage handling (#595)"

Not needed on SDK 28

This reverts commit 3f249e4bff.

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-12-31 20:57:38 +05:30
Harsh Shandilya
e61551bf37
Setup snapshot deployment (#599)
* Setup snapshot deployment

* README: Update repository links

* README: Update workflow badge link

* README: Add link to Snapshot builds

* Fix snapshot/pull-request build conflict

* Deploy from feature/deploy-snapshots as well

* Revert "Deploy from feature/deploy-snapshots as well"

Confirmed it works well

This reverts commit 06f6bc0e8c19f238643655d09ca20f83dd416283.

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-12-16 03:19:18 +05:30
Harsh Shandilya
df0c886152 Rewrite Gradle configuration to simplify further (#581)
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-11-26 23:48:18 +05:30
Harsh Shandilya
4c7f46aa8a
Switch to openpgp-ktx (#565)
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-11-12 02:14:28 +05:30
Harsh Shandilya
e4eaae37eb
Re-add OpenPgpAppPreference (#564)
Re-add OpenPgpAppPreference
2019-11-08 12:54:50 +05:30