Commit graph

2904 commits

Author SHA1 Message Date
Harsh Shandilya
cf03c55478
all: refactor ActivityResultContracts usages to adhere to API requirements
The newest versions of AndroidX Activity and Fragments correctly enforce the
requirement for all contracts to be registered at class init or before
the lifecycle has reached `Lifecycle.State.STARTED`. To comply with these requirements,
move all instances of `registerForActivityResult` being called at arbitrary points
in the code to be done at class init.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-02 15:51:14 +05:30
Harsh Shandilya
d792fa5135
build: uprev dependencies
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-02 15:51:13 +05:30
Fabian Henneke
eac1c6f1d8
Allow matching password fields based on hints only (#1129)
Filling passwords is usually only offered for fields with a password
input type, which ensures that they are always properly masked. Certain
custom views (e.g., the Termux terminal view), may apply their own
masking that is not based on the standard views.

With this commit, we allow filling passwords into arbitrary fields as
long as they have an Autofill hint that indicates a password.
2020-10-02 15:49:20 +05:30
Fabian Henneke
8f3fd99472
Exit tie breakers early in unique or no match case (#1130)
Tie breakers for Autofill fields should only be evaluated if there is
a need to, in particular not if only a single or no field is matched.

Apart from a potential minor performance improvement, this should not
cause any user-visible changes, but does simplify the log output
considerably.
2020-10-02 15:47:04 +05:30
Harsh Shandilya
880806b448
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 22:12:20 +05:30
Harsh Shandilya
fbdff717c9
Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:49:01 +05:30
Harsh Shandilya
14b51d5808
Add key selection step to onboarding flow
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:46:21 +05:30
Harsh Shandilya
944efee00e
PasswordCreationActivity: tweak logic for determining if identifier selection is needed
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:25:56 +05:30
Harsh Shandilya
98518ca499
Make unset author/email behavior match Git
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:25:56 +05:30
Harsh Shandilya
cf0d20299d
github: run apiCheck task in pull requests
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 19:11:21 +05:30
Harsh Shandilya
28bdbbbcce
github: update workflows to use gradle-cache-action
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 19:11:21 +05:30
Harsh Shandilya
1e4a57408e
autofill-parser: check in API dump
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 14:09:07 +05:30
Harsh Shandilya
8446342b6b
build: configure binary-compatibility-validator
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 14:08:40 +05:30
Harsh Shandilya
fbc9fde75e
Unwrap root cause for InvalidRemoteException (#1122)
* BaseGitActivity: unwrap root cause for InvalidRemoteException as well

JGit's InvalidRemoteException, like TransportException, swallows more
useful errors as is clear from this (redacted) snippet.

```
 D  org.eclipse.jgit.api.errors.InvalidRemoteException: Invalid remote: origin
 D      at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:26)
 D      at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:41)
 D      at com.zeapo.pwdstore.git.GitCommandExecutor$execute$2$result$1.invokeSuspend(GitCommandExecutor.kt:2)
 D      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
 D      at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:15)
 D      at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
 D      at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:13)
 D  Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: ssh://msfjarvis@[fe80::dead:beef]:22/pass-repo: fatal: '/pass-repo'
    does not appear to be a git repository
 D      at org.eclipse.jgit.transport.TransportGitSsh.cleanNotFound(TransportGitSsh.java:14)
 D      at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:20)
 D      at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:1)
 D      at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:1)
 D      at org.eclipse.jgit.transport.Transport.fetch(Transport.java:20)
 D      at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:18)
```

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

* Add changelog entry

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-29 17:41:14 +02:00
github-actions[bot]
87d6552018
Update Public Suffix List data (#1121)
Co-authored-by: FabianHenneke <FabianHenneke@users.noreply.github.com>
2020-09-26 11:25:52 +05:30
Harsh Shandilya
8355db86f5
Prepare release 1.12.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-24 15:00:06 +05:30
Harsh Shandilya
6203855b15
Restore settings button to onboarding screen (#1119)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-24 13:38:14 +05:30
Harsh Shandilya
56f4dedb5b
Sync strings from Crowdin (#1117)
* 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>
2020-09-22 09:18:00 +05:30
Harsh Shandilya
0a9b8fc585
Remove Autofill onboarding prompt and cleanup strings (#1116) 2020-09-21 23:44:52 +05:30
Harsh Shandilya
12db2d00df
Refactor auth mode check/uncheck (#1115)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-21 19:26:34 +02:00
Harsh Shandilya
37ea5d4a49
Revert "github: remove ci-gradle.properties" (#1113)
GitHub's runners are still too weak for us to go by without
doing this: https://pipelines.actions.githubusercontent.com/eRaLlgv7QgiQrEiMWvOVzCfcXl8ehv3iNil9w7DRw7wdT9P1kT/_apis/pipelines/1/runs/2741/signedlogcontent/3?urlExpires=2020-09-21T07%3A46%3A57.1297541Z&urlSigningMethod=HMACV1&urlSignature=6e1r7tlUIn9E2EuEm2i4skqgQwZ4jCmO9ARlGZ6a3SU%3D

This reverts commit 098c765132.
2020-09-21 14:17:06 +05:30
Harsh Shandilya
098c765132
github: remove ci-gradle.properties
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 22:49:01 +05:30
Harsh Shandilya
7a3274b06d
gradle: update properties list for build improvements
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 22:43:31 +05:30
Harsh Shandilya
e212404dbe
Dependencies: downgrade annotation to 1.1.0
We don't use the new annotation added in the alpha and since this dependency is shared between the library and app it's best to stick to stable until necessary

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:49:10 +05:30
Harsh Shandilya
dd6a2b5813
autofill-parser: add dependency on AndroidX annotation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:48:10 +05:30
Harsh Shandilya
9c91cdc34c
autofill-parser: drop use of core-ktx
We use an alpha version of core-ktx that might be undesirable for projects including the library

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:47:22 +05:30
Harsh Shandilya
9ccefe87e8
autofill-parser: add README
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 17:12:03 +05:30
Harsh Shandilya
e8bc41f1aa
autofill-parser: configure maven-publish plugin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 17:12:03 +05:30
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
Harsh Shandilya
bfd9c1d776
github: remove nonFree flavor from tests (#1102)
Our tests have zero differences between these flavors so running 4 jobs rather than 2 just slows us down

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-17 01:00:21 +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
Harsh Shandilya
9cb8551a90
build: update Kotlin and dependency-updates plugin (#1094)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-10 22:37:16 +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
2c0ecdfb67
Fix changelog links (#1083)
* changelog: fix links

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

* github: prepend 'v' to version passed in changelog action

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-07 07:18:19 +02:00