Commit graph

1337 commits

Author SHA1 Message Date
Harsh Shandilya
e8e0cc791f
Add check for potential issues with SSH URL
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19 17:30:19 +05:30
Harsh Shandilya
5d5a068591
BasicBottomSheet: init
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19 17:30:19 +05:30
Aditya Wasan
afbe29e7da
Finish activity in case of external directory (#1110)
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-09-19 01:08:59 +05:30
Harsh Shandilya
bad8e2b404
Misc cleanups to build and extension functions (#1108) 2020-09-18 18:14:52 +05:30
Aditya Wasan
9d63b11391
Add annotation to WelcomeFragment class (#1107)
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-09-18 16:21:27 +05:30
Vincent Breitmoser
0810273444
Autofill: Extract AutofillParser into separate subproject (#1101)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-09-16 23:47:55 +05:30
Aditya Wasan
4ba3b75f85
Update on-boarding UI (#1099)
* 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>
2020-09-15 21:53:12 +05:30
Harsh Shandilya
a34f749e9a
Add tentative workaround for dialog crashes and refactor Git-related code (#1100)
* Ensure we're creating dialogs on the main thread

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

* Remove unused operation type

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

* Refactor launchGitOperation to use an enum

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-14 22:37:22 +05:30
Harsh Shandilya
eef809760c
PasswordRepository: properly gate symlink feature (#1098)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-13 15:24:15 +05:30
Harsh Shandilya
f2647dfbe6
Continue onboarding if permissions are granted prematurely (#1097)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-12 19:28:42 +02:00
github-actions[bot]
dd63358b6a
Update Public Suffix List data (#1096)
Co-authored-by: FabianHenneke <FabianHenneke@users.noreply.github.com>
2020-09-12 11:41:40 +05:30
Harsh Shandilya
924443479e
Correctly count children in password list (#1095) 2020-09-11 15:02:12 +05:30
Fabian Henneke
7a58e397a9
Disable SSH multiplexing if not supported (#1093)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-11 13:28:03 +05:30
Rounak Datta
71fc2a396e
Autofill: add kiwi as a supported browser (#1091) 2020-09-10 11:24:44 +05:30
Harsh Shandilya
276aa4ea7c
Fix directory selection in onboarding if storage permissions are granted (#1090)
* 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>
2020-09-09 07:57:03 +02:00
Fabian Henneke
9e0fb93f91
Support multiple authentication methods (#825)
* Offer password SSH authentication after publickey

* git: re-add back button handling

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

* Hide unsupported authentication methods

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

* GitCommandExecutor: cleanup and address build warning

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

* Address review comments

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

* DecryptActivity: hide menu items until decrypt finishes

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

* Add changelog entry

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-08 15:38:06 +05:30
Aditya Wasan
ff780b02de
Use same checks as BiometricAuthenticator in UserPreference (#1088) 2020-09-08 14:24:19 +05:30
Harsh Shandilya
c65f3c7099
UX fixups and improvements (#1086)
* git: re-add back button handling

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

* Hide unsupported authentication methods

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

* GitCommandExecutor: cleanup and address build warning

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

* Address review comments

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

* DecryptActivity: hide menu items until decrypt finishes

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

* GitServerConfigActivity: don't finish on failure

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-07 16:43:04 +02:00
Fabian Henneke
2687763bda
Fix behavior on failing Git operations (#1084) 2020-09-07 13:40:59 +05:30
Harsh Shandilya
1d1bfbb5ad
PasswordGeneratorDialogFragment: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:39 +05:30
Harsh Shandilya
bd49bcfb03
DecryptActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:38 +05:30
Harsh Shandilya
3a0bf37c00
PasswordCreationActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:38 +05:30
Harsh Shandilya
c183dd82d6
SshjConfig: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:38 +05:30
Harsh Shandilya
eded073ef2
BasePgpActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:37 +05:30
Harsh Shandilya
e18416fa0e
SshKey: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:37 +05:30
Harsh Shandilya
e6675d989d
SshjSessionFactory: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:37 +05:30
Harsh Shandilya
ee6fd10ea6
GitOperation: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:36 +05:30
Harsh Shandilya
58f28727c1
GitLogModel: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:36 +05:30
Harsh Shandilya
4082be7721
AutofillPublisherChangedActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:36 +05:30
Harsh Shandilya
c62e1303b1
AutofillScenario: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:35 +05:30
Harsh Shandilya
82c83a5bed
GitSettings: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:35 +05:30
Harsh Shandilya
83654896b6
PasswordRepository: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:34 +05:30
Harsh Shandilya
5951a983b1
GitConfigActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:05 +05:30
Harsh Shandilya
361a801e47
GitServerConfigActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:05 +05:30
Harsh Shandilya
2d4c165f15
GetKeyIdsActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:04 +05:30
Harsh Shandilya
117b5e1d3b
SelectFolderFragment: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:04 +05:30
Harsh Shandilya
2041ec3f19
Extensions: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:03 +05:30
Harsh Shandilya
730da7ef0f
Otp: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:03 +05:30
Harsh Shandilya
104c6550f6
UserPreference: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:03 +05:30
Harsh Shandilya
9bc1d59dd2
PasswordBuilder: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:02 +05:30
Harsh Shandilya
85d1ef1ad1
PasswordStore: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:02 +05:30
Harsh Shandilya
07607e0f37
PasswordFragment: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:02 +05:30
Harsh Shandilya
5896acc8eb
ClipboardService: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:01 +05:30
Harsh Shandilya
63e2908d36
Migrations: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:01 +05:30
Harsh Shandilya
c3e6006895
AutofillSmsActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:01 +05:30
Harsh Shandilya
90c9ce1b91
Form: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:00 +05:30
Harsh Shandilya
0bc60999c3
AutofillDecryptActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:49:00 +05:30
Harsh Shandilya
8ed6dad23c
OnboardingActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:48:59 +05:30
Harsh Shandilya
2db640d6cb
SshKeyGenActivity: use runCatching to replace exception handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:48:59 +05:30
Harsh Shandilya
32cb1b3af3
Migrations: reuse SharedPreferences instances
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 22:48:59 +05:30
Harsh Shandilya
3ac9c7d8e7
PasswordRepository: add custom FS factory for symlink capabilities (#1081)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-09-05 22:48:42 +05:30
Harsh Shandilya
6713d48974
DecryptActivity: properly calculate remaining OTP time on first pass (#1080)
* DecryptActivity: properly calculate remaining OTP time on first pass

We default to 30 seconds for each recalculation but the first run might not have 30 seconds left in its period, making the value stale much earlier. While most websites offer another 30 seconds of validity for TOTP codes, many do not, thus making it hard to enter a correct OTP

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05 20:12:19 +05:30
github-actions[bot]
0b85779eec
Update Public Suffix List data (#1079) 2020-09-05 07:36:32 +05:30
Harsh Shandilya
0d2c6654d3
Assorted UX improvements (#1077)
* CredentialFinder: allow seeing password when retrying

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

* GitOperation: bail out early when SSH key is missing

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

* OnboardingActivity: finish all activities in onBackPressed

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

* Update CHANGELOG

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04 12:19:45 +02:00
Fabian Henneke
4214b7fbb4
Add migration to new SshKey backend (#1076)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04 14:46:05 +05:30
Harsh Shandilya
e731943437
Revamp onboarding logic (#1068) 2020-09-04 12:06:55 +05:30
Harsh Shandilya
b7f58cfb6e
Remove BaseGitActivity's onOptionsItemSelected override (#1075)
Each activity that inherits from it should handle its own navigation

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04 11:47:50 +05:30
Fabian Henneke
3840f43fa0
Refactor Git operations and auth (#1066)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-03 14:18:14 +05:30
Fabian Henneke
cbb96397d1
Add Keystore backend for SSH public key authentication (#1070) 2020-09-01 13:42:27 +05:30
Alexander Kirillov
55d64fb737
Simplify decrypt intent creation (#1069) 2020-08-29 20:18:56 +05:30
Nosweh
0f0d1994e5
Add Activity to view the Git commit log (#1056) 2020-08-28 21:01:40 +05:30
Fabian Henneke
88b1de2b50
Do not return stored password on first retry (#1061) 2020-08-27 21:05:26 +05:30
Harsh Shandilya
c848788f05
Merge remote-tracking branch 'origin/release' into develop
* origin/release:
  build: bump version
  build: drop -free suffix
  Remember HTTPS password throughout a sync operation (#1062)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27 19:25:06 +05:30
Harsh Shandilya
7b4792d147
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27 17:58:17 +05:30
Harsh Shandilya
cc97f64ff2
build: drop -free suffix
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27 17:57:18 +05:30
Fabian Henneke
8c5cd0b7e5
Remember HTTPS password throughout a sync operation (#1062)
* Remember HTTPS password throughout a sync operation

* Add CHANGELOG.md entry

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit cba0bc2b29)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27 17:36:13 +05:30
Fabian Henneke
cba0bc2b29
Remember HTTPS password throughout a sync operation (#1062)
* Remember HTTPS password throughout a sync operation

* Add CHANGELOG.md entry

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27 15:43:55 +05:30
Fabian Henneke
1093928d93
Delete HTTPS instead of SSH key password on error (#1060) 2020-08-27 15:21:15 +05:30
Harsh Shandilya
1ce3ef4ea3
Expand show hidden folders to also cover files (#1059)
* 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>
2020-08-27 14:27:55 +05:30
Fabian Henneke
8ec3320df7
Get rid of explicit Git server protocol (#1054)
* Double check Git server protocol

Ensure that the Git server protocol is not at odds with the URL scheme.

Also move the Protocol switches below the URL to make it clear that the
URL should be entered first.

* Remove protocol selection from server config

The protocol is now extracted from the URL, and the authentication mode selection is validated by GitSettings

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

* Don't use pref values for auth modes

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

* Apply suggestions from code review

Remove now unused protocol mismatch result type

Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>

* Simplify migration logic and fix tests

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

* Revert "Simplify migration logic and fix tests"

This reverts commit 1c4c4ba5fbc212843cb6b74dd29ac858eaea7582.

* Detect URLs with null scheme as ssh

* Add changelog entry

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-26 19:51:27 +05:30
Fabian Henneke
ad17fa7cc5
Rename ConnectionMode to AuthMode and remove clone_ prefix (#1053) 2020-08-26 13:36:36 +05:30
Fabian Henneke
d0b15cec49
Improve Git server config activity (#1051) 2020-08-24 15:33:33 +05:30
Harsh Shandilya
cbe780f31c
Merge branch 'release' into backmerge-release
* release:
  build: bump version
  Add changelog entry for HTTPS authentication
  Return HTTPS URI username from CredentialsProvider (#1049)
  Prevent racing double commits on password creation (#1047)
  Prepare release 1.11.2
2020-08-24 13:35:05 +05:30
Harsh Shandilya
4a4e48dc34
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-24 12:46:03 +05:30
Fabian Henneke
e4ce435f00
Return HTTPS URI username from CredentialsProvider (#1049)
Let the PasswordFinderCredentialsProvider support Username as a
CredentialItem type and return the user part of the repository URI when
it is requested.

(cherry picked from commit 679037b81d)
2020-08-24 12:46:02 +05:30
Fabian Henneke
a29414fce6
Prevent racing double commits on password creation (#1047)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit 2c8999c1bf)
2020-08-24 12:46:01 +05:30
Fabian Henneke
679037b81d
Return HTTPS URI username from CredentialsProvider (#1049)
Let the PasswordFinderCredentialsProvider support Username as a
CredentialItem type and return the user part of the repository URI when
it is requested.
2020-08-24 12:41:40 +05:30
Fabian Henneke
2c8999c1bf
Prevent racing double commits on password creation (#1047)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23 22:21:36 +05:30
Harsh Shandilya
06497f1db0
BiometricAuthenticator: also allow Class 2 biometric implementations (#1046)
Android OEMs are hellspawn

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23 13:40:13 +02:00
Harsh Shandilya
2414c48d9f
BiometricAuthenticator: fix multiple regressions from AndroidX update (#1045)
Fixes: 80e43e5675 ("Update dependencies (#1039)")
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23 16:41:04 +05:30
Harsh Shandilya
70aa41ae61
Don't use git config for setting author and email (#1043)
Fixes #1038

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-22 18:13:06 +05:30
Devin J. Pohly
70f7d3b199
Autofill: add support for Bromite and Ungoogled Chromium (#1041) 2020-08-22 15:18:44 +05:30
Harsh Shandilya
80e43e5675
Update dependencies (#1039)
* build: uprev dependencies

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

* Address deprecation warnings

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

* Update autofill, appcompat and core

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21 21:48:53 +05:30
Nosweh
cf5310e0fb
Wrap password creation layout in ScrollView (#1036) 2020-08-21 02:14:31 +05:30
Harsh Shandilya
92f80b2e3d
Merge branch 'release' into develop
* release:
  build: bump version
  Update CHANGELOG
  Revert "Reland symlink support (#1020)"

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21 01:33:24 +05:30
Harsh Shandilya
d9c3aff6d3
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21 01:11:13 +05:30
Harsh Shandilya
7a7e58f6dd
Revert "Reland symlink support (#1020)"
This does not work below API 27.

Fixes #1032

This reverts commit 087ab547c1.
2020-08-21 01:11:06 +05:30
Harsh Shandilya
67ee24ef86
Fix incorrect preference key (#1033)
This too should have been base64 encoded

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-20 21:52:33 +05:30
Diogenes Molinares
cfb42f02f5
Sort by recently used (#1031)
* 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>
2020-08-20 17:23:34 +05:30
Fabian Henneke
152d86ec3a
Add SSHJ backend for OpenKeychain authentication (#995)
* Update sshj to 0.30.0 and improve algorithm order

Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types
and bugfixes related to RSA certificates and Android Keystore backed
keys.

Along the way, this improves the algorithm preferences to be consistent
with the Mozilla Intermediate SSH configuration (as far as possible,
given that most certificate types and some encryption algorithms are
not yet supported).

We also add "ext-info-c" to the kex algorithm proposal to work around
certain kinds of "user agent sniffing" that limits the support of
rsa-sha2-* key types.

* Add SSHJ backend for OpenKeychain authentication

* Address review comments

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18 22:02:34 +02:00
Harsh Shandilya
bd0d97d242
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18 21:31:06 +05:30
Harsh Shandilya
80b3a15592
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18 21:17:03 +05:30
Fabian Henneke
b3241f3452
Preserve SSH key passphrase on connection errors (#979)
* Update sshj to 0.30.0 and improve algorithm order

Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types
and bugfixes related to RSA certificates and Android Keystore backed
keys.

Along the way, this improves the algorithm preferences to be consistent
with the Mozilla Intermediate SSH configuration (as far as possible,
given that most certificate types and some encryption algorithms are
not yet supported).

We also add "ext-info-c" to the kex algorithm proposal to work around
certain kinds of "user agent sniffing" that limits the support of
rsa-sha2-* key types.

* Preserve SSH key passphrase on connection errors

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18 07:52:27 +02:00
Fabian Henneke
14e3754ef3
Update sshj to 0.30.0 and improve algorithm order (#1026)
Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types
and bugfixes related to RSA certificates and Android Keystore backed
keys.

Along the way, this improves the algorithm preferences to be consistent
with the Mozilla Intermediate SSH configuration (as far as possible,
given that most certificate types and some encryption algorithms are
not yet supported).

We also add "ext-info-c" to the kex algorithm proposal to work around
certain kinds of "user agent sniffing" that limits the support of
rsa-sha2-* key types.
2020-08-18 01:28:04 +05:30
glowinthedark
82ae0a8629
Allow adding digits and symbols in XkPasswd generator using mask-like values (#1023)
* - XkPasswordGeneratorDialogFragment: add symbol/number mask to allow appending numbers+symbols via a mask such as `ddds` which would generate random.password123!; position of `d` and `s` is not currently considered; only the count is relevant

* - update CHANGELOG.md

* - update CHANGELOG.md

* - rename constants

* Update CHANGELOG.md

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>

* - add missing marginTop

* - add missing marginTop

Co-authored-by: null <null>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: glowinthedark <glowinthedark>
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-17 16:10:03 +05:30
Harsh Shandilya
12f6caef37
Also invert copy_on_decrypt preference value (#1024)
Fixes: e0350043d0 ("Disable automatic copy on decrypt by default (#1006)")
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-16 21:51:13 +05:30
Harsh Shandilya
2ffd1abb27
Fix external storage UX (#1022)
* build: update to Kotlin 1.4

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

* UserPreference: finish if directory selection was triggered from an intent

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

* PasswordStore: switch permission request to ActivityResultContracts

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

* PasswordStore: fix activity reference

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

* GitOperationActivity: make invalid values more obvious

Would have caught this issue much sooner if I had just done this

Fixes: 3d8cea5966 ("Improve permission handling logic (#732)")
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Assorted collection of hackery to make external storage use palatable

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-15 22:46:02 +02:00
Fabian Henneke
087ab547c1
Reland symlink support (#1020)
* Add symlink support to JGit (#1016)

* Add symlink support to JGit

* Fix a typo

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>

* Prevent crash when following a broken symlink

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-14 13:27:16 +05:30
Harsh Shandilya
57f1c65fdf
Restore workaround for preventing empty commits (#1019)
* Revert "Add symlink support to JGit (#1016)"

This reverts commit 5032696cec.

* 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
2020-08-13 22:16:47 +02:00
Fabian Henneke
5032696cec
Add symlink support to JGit (#1016)
* Add symlink support to JGit

* Fix a typo

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-13 15:51:09 +05:30
Fabian Henneke
a1f3d118c9
Update R8 rules (#1017)
Removes superfluous dontwarn rules, adds relevant new ones and removes
a keep rule for SearchView that has meanwhile been added to the
dependency.
2020-08-13 14:53:03 +05:30
Fabian Henneke
4e8da9b5f9
Create only one SSH session per GitOperation (#1012) 2020-08-12 20:11:11 +05:30
Fabian Henneke
d08397872a
Improve Git error message handling (#1011)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-12 14:20:08 +05:30
Harsh Shandilya
372c0f3dbd
Improve clone operation semantics (#1010)
* Improve clone operation semantics

Fixes #1003

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-12 09:34:47 +02:00
Harsh Shandilya
52e2139f6a
Notify user when remote branch is up-to-date (#1009)
* Notify user when remote branch is up-to-date

Fixes #1000

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11 23:18:54 +02:00
Fabian Henneke
15aa929802
Switch to URL-based Git config and refactor Git settings (#1008)
* 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>
2020-08-11 18:11:39 +02:00
Harsh Shandilya
8f957ca994
Uprev Gradle and dependencies (#1007)
* build: uprev Gradle

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

* build: uprev dependencies

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

* app/proguard: remove Tink rules

I'm assuming the R8 problems fixed by the Tink upgrade cover this as well

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11 10:33:30 +02:00
Harsh Shandilya
5715b59ed4
Replicate key selection flow for directory creation (#999)
* 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>
2020-08-10 19:19:01 +05:30
Harsh Shandilya
e0350043d0
Disable automatic copy on decrypt by default (#1006)
Fixes #476

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10 18:48:11 +05:30
Harsh Shandilya
1c4ac91c6c
Prompt user to install OpenKeychain when missing (#1005)
* Prompt user to install OpenKeychain when missing

Fixes #996

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10 18:11:16 +05:30
Fabian Henneke
3dace243e4
Refactor uses of applicationContext and startActivityForResult (#997)
* 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
2020-08-06 14:28:20 +05:30
Harsh Shandilya
14c44bf584
Remove GitAsyncTask and replace with non-blocking coroutines (#865)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-08-05 19:02:24 +05:30
Harsh Shandilya
12a83e5c36
Merge branch 'release' into develop
* release:
  build: bump version
  Downgrade coroutines to 1.3.6 to fix VerifyErrors

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-31 13:37:25 +05:30
Harsh Shandilya
327e28bb57
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-31 13:34:18 +05:30
Harsh Shandilya
dc4a9cadc9
Switch to non-deprecated stdlib methods (#990)
min and max were deprecated in favor of minOrNull and maxOrNull respectively to match their names to the typical
naming format used by stdlib methods with nullable return types

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-31 13:06:54 +05:30
Harsh Shandilya
cea9f4b942
Merge branch 'release' into develop
* release:
  build: bump version
  Prepare release 1.10.2
  Fix two SMS Autofill crashes (#985)
  Fix TOTP import button check semantics (#982)
  Properly handle files without passwords (#969)
  Expand OTP and PasswordEntry tests (#968)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-30 14:51:57 +05:30
Harsh Shandilya
1c7daff5ba
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-30 14:30:39 +05:30
Fabian Henneke
23158ce6da
Fix two SMS Autofill crashes (#985)
SMS OTP Autofill currently crashes for two reasons:

1.  Tasks.await has a precondition of not running on the UI thread.
2.  Exceptions thrown from Tasks are always wrapped into
    ExecutionExceptions and need to be unwrapped before they can be
    identified as ResolvableApiException.

This commit addresses both issues by making waitForSms a proper
coroutine using withContext and a custom wrapper around Task<T> that
relies on suspendCoroutine and automatically unwraps exceptions.

(cherry picked from commit 3afeff45d8)
2020-07-30 14:00:33 +05:30
Harsh Shandilya
c132cc98e6
Fix TOTP import button check semantics (#982)
* Improve TOTP checking semantics

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

* Fix return label

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

* update CHANGELOG

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

* Move updateViewState() call outside with(binding) scope

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit ecf96aa066)
2020-07-30 14:00:25 +05:30
Fabian Henneke
3afeff45d8
Fix two SMS Autofill crashes (#985)
SMS OTP Autofill currently crashes for two reasons:

1.  Tasks.await has a precondition of not running on the UI thread.
2.  Exceptions thrown from Tasks are always wrapped into
    ExecutionExceptions and need to be unwrapped before they can be
    identified as ResolvableApiException.

This commit addresses both issues by making waitForSms a proper
coroutine using withContext and a custom wrapper around Task<T> that
relies on suspendCoroutine and automatically unwraps exceptions.
2020-07-30 13:59:01 +05:30
Harsh Shandilya
64a6e0f4e9
Properly handle files without passwords (#969)
* Properly handle files without passwords

Fixes #967

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

* Fix tests

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

* Only look for TOTP URI

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit 62dbc183d5)
2020-07-30 13:49:26 +05:30
Harsh Shandilya
35a8e8b42c
Expand OTP and PasswordEntry tests (#968)
(cherry picked from commit e3cf73885c)
2020-07-30 13:49:23 +05:30
Fabian Henneke
8481491994
Add "challenge" and "verification" to OTP heuristic terms (#984) 2020-07-30 10:00:35 +02:00
Harsh Shandilya
6ca02eb371
Upgrade to Kotlin 1.4 (#978)
* build: uprev to Kotlin 1.4

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

* Remove explicit type argument

Not required anymore with Kotlin 1.4

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

* build: enable Kotlin 1.4 language features

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

* all: add trailing commas where reasonable

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

Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-07-29 17:10:46 +05:30
Harsh Shandilya
017abd0f61
Add ability to change default branch (#977)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-29 16:25:49 +05:30
Harsh Shandilya
ecf96aa066
Fix TOTP import button check semantics (#982)
* Improve TOTP checking semantics

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

* Fix return label

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

* update CHANGELOG

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

* Move updateViewState() call outside with(binding) scope

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-29 09:36:22 +02:00
Harsh Shandilya
a3b6bf954f
PasswordFragment: bring back dividers (#980) 2020-07-28 16:19:06 +05:30
Fabian Henneke
a5669c87fd
Disable Autofill compatibility for Firefox (#976)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-27 13:15:44 +02:00
Fabian Henneke
98a91de716
Fix delete store message formatting (#975) 2020-07-27 11:48:01 +05:30
Fabian Henneke
c9a3462372
Add specific warning for short key IDs in .gpg-id (#974) 2020-07-27 11:35:35 +05:30
Harsh Shandilya
2b1f101685
Correctly set error on incorrect credentials (#972) 2020-07-26 20:11:53 +05:30
Harsh Shandilya
9f8f9d588c
Allow creating nested directories
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-26 17:08:42 +05:30
Harsh Shandilya
94f1907e92
Show parent path on all types
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-26 16:52:30 +05:30
Harsh Shandilya
974bcc6b54
build: update APK cruft exclusion list
Generates a fairly decent size difference from the current release build

$ diskus app/build/outputs/apk/free/release/app-free-release.apk
4.31 MB (4,308,992 bytes)

$ diskus ~/APS-free_v1.10.1.apk
4.44 MB (4,444,160 bytes)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-26 16:45:23 +05:30
Harsh Shandilya
62dbc183d5
Properly handle files without passwords (#969)
* Properly handle files without passwords

Fixes #967

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

* Fix tests

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

* Only look for TOTP URI

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-25 14:37:16 +05:30
Harsh Shandilya
e3cf73885c
Expand OTP and PasswordEntry tests (#968) 2020-07-24 14:33:55 +05:30
Harsh Shandilya
f256d5f244
Merge remote-tracking branch 'origin/release' into develop
* origin/release:
  build: prepare next development version
  build: bump version
  Prepare release 1.10.1
  Add CHANGELOG entries for 1.10.1 (#961)
  Wire in fallback key selection flow (#958)
  Fix OpenPgpApi extra type confusion (#960)
  Fix a crash when parsing long key IDs (#959)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-23 23:05:18 +05:30
Harsh Shandilya
5c28fe9817
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-23 22:02:32 +05:30
Harsh Shandilya
4063a429ac
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-23 22:02:09 +05:30
Harsh Shandilya
1546f862c5
Wire in fallback key selection flow (#958)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
(cherry picked from commit 084b833fa4)
2020-07-23 21:38:11 +05:30
Fabian Henneke
859da9d914
Fix OpenPgpApi extra type confusion (#960)
(cherry picked from commit da167599d2)
2020-07-23 21:38:10 +05:30
Fabian Henneke
dc3fcbdc8e
Fix a crash when parsing long key IDs (#959)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit fbd84fde3a)
2020-07-23 21:38:10 +05:30
Harsh Shandilya
084b833fa4
Wire in fallback key selection flow (#958)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-23 21:29:04 +05:30
Fabian Henneke
da167599d2
Fix OpenPgpApi extra type confusion (#960) 2020-07-23 19:29:12 +05:30
Fabian Henneke
fbd84fde3a
Fix a crash when parsing long key IDs (#959)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-23 17:24:53 +05:30
Fabian Henneke
273d0d555c
Allow Autofill on custom views with Autofill hints (#946) 2020-07-23 16:51:14 +05:30
Harsh Shandilya
356a8cd8c6
Migrate to Gradle Kotlin DSL (#936) 2020-07-23 14:39:36 +05:30
Harsh Shandilya
4c5341834d
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-22 15:01:50 +05:30
Harsh Shandilya
6aea2501ba
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-22 15:01:50 +05:30
Harsh Shandilya
fb5f4e421d
Add pt-BR translations and cleanup resources (#947) 2020-07-22 13:37:36 +05:30
Fabian Henneke
511bfb0a9a
Use a more common SSH version string (#944) 2020-07-20 13:01:31 +02:00
Fabian Henneke
b9e6385751
Fix Autofill result contract bug (#941) 2020-07-19 22:09:41 +05:30
Harsh Shandilya
c7ccc2f4f1
Improve UI when launching with biometric lock (#940) 2020-07-19 16:37:18 +05:30
Harsh Shandilya
465d5b867a
Remove type images (#939)
* Remove type images

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

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-19 10:25:34 +02:00
Harsh Shandilya
ffb47031b0
Always allow SSH key generation (#938) 2020-07-19 10:56:51 +05:30
Harsh Shandilya
d4379a4779
Remove manual key selection and start actually using .gpg-id (#916)
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-16 12:18:38 +05:30
Fabian Henneke
41ecdd7b08
Fix overly large horizontal margins on material switches (#935)
* Fix overly large horizontal margins on material switches

* Increase icon size for autofill filter view

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-16 07:44:29 +02:00
Harsh Shandilya
1d7ec5ba6f
Add debug icon and update color palette (#931) 2020-07-14 16:23:39 +05:30
Fabian Henneke
681c557e9e
Revert "Work around Chrome Autofill issue (#921)" (#933) 2020-07-14 15:00:29 +05:30
Harsh Shandilya
4250cd499c
Properly guard against invalid renaming (#929) 2020-07-14 11:56:47 +05:30
Harsh Shandilya
7f3aceaf11
Fix navigation bar theming and reformat (#930) 2020-07-14 11:31:37 +05:30
Harsh Shandilya
fc00de61dc
Move password export to the IO dispatcher (#918)
* Move password export to the IO dispatcher

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

* Simplify snackbars and disable exit operations during export

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

* Move export password logic to service

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Reformat

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

* Use explicit null check

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

* Remove unneeded hack

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

* Fixup strings

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

* Don't use coroutines in a service

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Update notification icon

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Rollback unwanted formatting

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

Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-07-09 14:00:24 +05:30
Harsh Shandilya
6169920878
global: set an import order rule and reformat with it (#924)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-08 01:25:55 +05:30
Harsh Shandilya
4657185dc6
styles: re-add alertDialogTheme override (#923)
It seems the MaterialComponents inflater does not work with preferences.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-07 19:32:36 +02:00
Fabian Henneke
d192ab2d9a
Work around Chrome Autofill issue (#921) 2020-07-07 20:32:57 +05:30
Harsh Shandilya
5d170249cd
Major UI overhaul and the introduction of a new icon (#920)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-07 19:18:24 +05:30
github-actions[bot]
035d3feaa4
Update Public Suffix List data (#917)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-04 10:02:13 +05:30
Harsh Shandilya
25b4261574
Migrate to ActivityResultContracts (#910)
* 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>
2020-07-03 09:24:06 +02:00
Harsh Shandilya
9fb492b572
Deploy both variants to snapshot directory (#914)
* Deploy both free and non-free variants

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

* build: add product flavor to APK name

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-02 20:23:31 +02:00
Fabian Henneke
ca9c951a53
Fill OTP fields with SMS codes (#900)
* Fill OTP fields with SMS codes

* Allow SMS OTP fill also for web origins

* Introduce free and nonFree build variants

* Fix up workflow

* Improve layout and feature detection

* Workflow changes

* Add Changelog entry

* github: update release workflow for nonFree/Free split

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

* Switch to lifecycleScope

* github: make snapshot deploy free variant

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-02 13:49:32 +02:00
Fabian Henneke
c702d4aa9e
Fix up URIish instances with @ in user name (#913) 2020-07-02 16:51:59 +05:30
Fabian Henneke
1c9f7971ce
Scroll to files and enter folders when created (#909) 2020-07-01 21:48:21 +05:30
Fabian Henneke
c5a93b8b81
Run a treewide reformat (#908)
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-07-01 12:51:05 +02:00
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
Fabian Henneke
eaaa3eeea8
Improve and refactor Autofill heuristics (#905)
* Add support for `AUTOFILL_HINT_NEW_PASSWORD` and
  `AUTOFILL_HINT_NEW_USERNAME`. This allows apps to trigger a
  `ClassifiedScenario` with only a generate password action and is the
  analogue of the W3C new-password hint for websites.
* Do not consider HTML password fields without hints to be certain
  password fields (they could contain e.g. bank account numbers,
  API secrets,...).
* Reduce OTP field false positives by excluding the term "postal" as well
  as fields that match the "code" heuristic term but have HTML maxLength
  less than 6 or larger than 8.
* Add German heuristic term "einmal" ("one-time") for OTP fields
* Also exclude fields based on their HTML name (e.g. for terms such as
  "search").
* Extract fieldId, hint and htmlName matches into an extension property.
* Reduce warnings and remove unnecessary suppression annotations.
2020-07-01 09:22:41 +02:00
Aditya Wasan
82a9a61254
Use PreferenceKeys file to manage SharedPreferences keys. (#891)
* Use PreferenceKeys file to manage SharedPreferences keys.

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Use PreferenceKeys in all files

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Divide PreferenceKeys into multiple regions

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Fix build error

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Use PreferenceKeys in more files

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Reformat code

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Fix build error

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Fix merge issues

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-07-01 00:00:02 +05:30
Harsh Shandilya
e11ef1ca1d
Revert "Support directly importing secrets" (#904) 2020-06-30 21:28:28 +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
Harsh Shandilya
b663fbe64f
Workaround to prevent crash on first run (#898)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit 57f125a4da)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-30 14:39:22 +05:30
Harsh Shandilya
57f125a4da
Workaround to prevent crash on first run (#898)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-30 14:37:59 +05:30
Fabian Henneke
8bc662c9c0
Offer TOTP Autofill for OTP fields (#899) 2020-06-29 10:12:19 +02:00
Harsh Shandilya
ac6220eed3
Merge SshKeyGenFragment into its activity (#897)
* Merge SshKeyGenFragment into its activity

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

* Drop neutral button discouraged by material specs

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

* Address review comments

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-29 12:50:05 +05:30
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
Fabian Henneke
535ad1dbb1
Consolidate password list refresh (#887) 2020-06-28 13:29:15 +05:30
Harsh Shandilya
9fc5d337b8
UI fixups (#892) 2020-06-28 01:45:39 +05:30
github-actions[bot]
0a0e517414
Update Public Suffix List data (#888)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-06-27 07:03:29 +02:00
Fabian Henneke
cc2bb76398
Prevent cached passwords from being wiped (#884)
(cherry picked from commit 889208b264)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 12:51:30 +05:30
Fabian Henneke
8f7d3052ea
Use remembered credential even if it is empty (#880)
* Use remembered credential even if it is empty

Should fix #875.

* .isNull() --> == null

* Update relnotes

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

* Reword relnotes

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

* 2019 it is

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit b60c5fb605)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 12:44:32 +05:30
Fabian Henneke
b5cff71b93
Reset SSH passphrase after SSH key import (#885)
(cherry picked from commit 6b5984dfe6)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 12:44:11 +05:30
Fabian Henneke
b60c5fb605
Use remembered credential even if it is empty (#880)
* Use remembered credential even if it is empty

Should fix #875.

* .isNull() --> == null

* Update relnotes

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

* Reword relnotes

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

* 2019 it is

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 09:12:39 +02:00
Fabian Henneke
6b5984dfe6
Reset SSH passphrase after SSH key import (#885) 2020-06-26 09:00:19 +02:00
Fabian Henneke
889208b264
Prevent cached passwords from being wiped (#884) 2020-06-26 08:47:47 +02:00
Harsh Shandilya
2f7c50136a
build: uprev all dependencies (#882)
* build: uprev all dependencies

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

* proguard: add keep rule for WhatTheStack

sigh

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-25 14:33:57 +02:00
Fabian Henneke
5c2823405e
Add org.gnu.icecat as a trusted multi-origin browser (#871)
I verified the following:

* Store: F-Droid
* Package hash: wi2iuVvK/WYZUzd2g0Qzn9ef3kAisQURZ8U1WSMTkcM=
* Based on: Firefox
* Actively maintained: https://git.savannah.gnu.org/cgit/gnuzilla.git/log/?h=68
* Multi-origin method: WebView
* Save support: no

(cherry picked from commit 8a90ba46c6)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-25 00:27:31 +05:30
Fabian Henneke
e1f81e8f4b
Use a custom sshj config (#878)
* Use a custom sshj config

* Get random numbers directly from SecureRandom
* Use Timber calls for logging
* Remove all algorithms that are not in the Mozilla Intermediate SSH config

* Address review comments

* Fixup slf4j's custom format string format

Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-06-23 15:39:44 +02:00
Fabian Henneke
8a90ba46c6
Add org.gnu.icecat as a trusted multi-origin browser (#871)
I verified the following:

* Store: F-Droid
* Package hash: wi2iuVvK/WYZUzd2g0Qzn9ef3kAisQURZ8U1WSMTkcM=
* Based on: Firefox
* Actively maintained: https://git.savannah.gnu.org/cgit/gnuzilla.git/log/?h=68
* Multi-origin method: WebView
* Save support: no
2020-06-22 11:53:09 +02:00
Harsh Shandilya
3f4e9b4757
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-22 02:46:03 +05:30