Harsh Shandilya
31a11a1ebb
GitCommandExecutor: make committer match author ( #1226 )
...
* GitCommandExecutor: make committer match author
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-01 20:54:01 +05:30
Harsh Shandilya
ed0fc19725
build: upgrade dependencies
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-30 13:57:58 +05:30
Harsh Shandilya
a9c73f1e51
Automatically dismiss decryption screen after 60 seconds ( #1216 )
...
* Automatically dismiss decryption screen after 60 seconds
Fixes #1215
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-22 11:47:39 +05:30
Harsh Shandilya
544631da04
App shortcut fixes ( #1213 )
2020-11-21 00:20:11 +05:30
Fabian Henneke
02c853c3b1
Fix Autofill dataset icon tint ( #1207 )
...
ImageViews in RemoteViews require tint to be specified with the android:
prefix, the lint thinks otherwise.
2020-11-15 13:10:06 +05:30
Harsh Shandilya
df6ebfee27
Fix extra content for multiple username fields ( #1192 )
...
Fixes #1190
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-06 10:50:34 +05:30
Harsh Shandilya
354687e3a6
Resolve Autofill breakage below API 30 ( #1187 )
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-05 01:50:32 +05:30
Fabian Henneke
0a71cc8aa5
Fix Autofill regression caused by empty dataset ( #1184 )
2020-11-03 22:10:31 +05:30
Fabian Henneke
73648b39d0
Make autofill-parser API explicit and refactor ( #1182 )
2020-11-03 13:36:17 +05:30
Fabian Henneke
1d13a1fbd6
Improve Autofill UI and enable inline presentations ( #1181 )
...
* Improve Autofill UI and enable inline presentations
Improves the Autofill UI in the following ways:
* Add support for Android 11 inline presentations of Autofill datasets.
* Instead of showing the identifier (app name or web origin) of the
current app on top of every Autofill dataset, it is now shown 1) as a
header dataset on Android 9 and 10 as well as 2) at the top of the
search activity on all supported versions of Android. Rationale: The
identifier is only used in trust decisions when choosing an existing
entry to fill and should feature prominently in that view, not
elsewhere.
* Show the actual identifier part of a matched entry's path, which may
differ from the identifier of the matched app/website.
* Slightly tweak the labels of Search/Generate Autofill actions to
indicate that a) this is about entries and b) the user may skip the
generation of a password and supply a custom one as well.
* Suppress lint error
* Address review comments
* Add a fixme about properly handling fill-in datasets
* CHANGELOG: add entry for inline presentation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove unused parameter
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-02 20:25:37 +01:00
Harsh Shandilya
cff8d41c91
build: compile against SDK 30 and resolve deprecations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-01 22:51:02 +05:30
Fabian Henneke
03959cca4d
Finish activity when Autofill Generate is cancelled ( #1179 )
2020-10-31 12:01:18 +01:00
Joris Minjat
38ece10e0d
Minimal support for MIME secret encoding ( #1170 )
...
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-10-23 21:43:37 +05:30
Harsh Shandilya
66b31f1432
Workaround AndroidX lifecycle requirements in OpenKeychain auth ( #1168 )
...
* Workaround AndroidX lifecycle requirements in OpenKeychain auth
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: add OpenKeychain fix
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-10-23 15:23:47 +05:30
Harsh Shandilya
c513722a30
Rollback automatic synchronization feature ( #1165 )
...
* Revert "Add option to automatically sync repository on app launch (#1137 )"
Fixes #1163
This reverts commit 92f1aab25d
.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: add entry for auto sync rollback
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-23 07:29:42 +02:00
Harsh Shandilya
4a9151870d
Remove accessibility autofill support ( #1162 )
...
* autofill: remove Accessibility backend
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: update
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-22 23:38:47 +05:30
Harsh Shandilya
440caab622
GitServerConfigActivity: add quick-fix for HTTPS URLs with custom ports
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21 06:21:19 +05:30
Harsh Shandilya
f2d0c18672
GitServerConfigActivity: set auth mode visibility on launch as well
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21 06:21:19 +05:30
Harsh Shandilya
30c8c27770
Convert PasswordRepository to an object
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19 00:11:28 +05:30
Harsh Shandilya
95d53e495c
PasswordRepository: split out PasswordSortOrder
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19 00:11:28 +05:30
Harsh Shandilya
12fe561be7
PasswordStore: Remove unnecessary class-level variables
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19 00:11:28 +05:30
Harsh Shandilya
543cf5675a
Rollback string changes from #1157
...
These should never have been made
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-18 04:02:45 +05:30
ashoksinghal
3981638e0f
Use BottomSheet in place of Snackbar for longer messages ( #1157 )
2020-10-17 22:09:34 +05:30
Harsh Shandilya
6c1e41ba10
Revamp build configuration ( #1156 )
...
* release: move scripts to scripts directory
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Move CI secrets to secrets directory
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* gradle: uprev to 6.7
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* gradle: suppress warnings about unsupported options
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* build: update dependencies
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* build: move Gradle plugins to ext
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* build: move configuration tasks to buildSrc
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: add entry for #1137
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Fix lint warnings
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-16 17:18:11 +02:00
Aditya Wasan
92f1aab25d
Add option to automatically sync repository on app launch ( #1137 )
...
* Add option to automatically sync repository on app launch
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Pull repo if user is not authenticated
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Hijack incoming intent rather than copying it
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Initialize password repository before using it
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-15 20:46:39 +05:30
Harsh Shandilya
591bb4e795
ProxyUtils: correctly handle the 'no proxy' case ( #1148 )
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-11 19:16:48 +05:30
Harsh Shandilya
e139e65a6e
res: merge unneeded override into base file
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 12:25:07 +05:30
Fabian Henneke
0d2788ab54
Temporarily work around SSHJ compatibility issues ( #1142 )
...
Using ECDSA either as a key exchange or a host key algorithm fails with
SSHJ 0.30.0 on Android, but should again become possible in 0.31.0.
While we wait for the release, demote ECDSA in the list of key
algorithms (as it should still be available for public key auth) and
remove it from the list of key exchange algorithms.
2020-10-08 21:24:18 +05:30
Harsh Shandilya
b4f6fc502a
Introduce app-wide HTTPS proxy setting ( #1134 )
2020-10-08 17:15:39 +05:30
Fabian Henneke
a321bb6403
Show new FillResponse right after publisher reset ( #1138 )
...
If Autofill shows a warning about an app whose publisher changed and the
user decides to trust the app and clear previous matches, they should
immediately be given the option to select a new match.
Previously, as AutofillPublisherChangedActivity did not return a
result, the old FillResponse with just a warning would be reused. We
now pass a useful response with no matches on to the activity, which
returns it after the user has chosen to reset the publisher info.
2020-10-06 15:18:00 +05:30
Harsh Shandilya
15042687f8
Fix Autofill publisher changed layout ( #1136 )
...
* Fix Autofill publisher changed layout
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Tweak autofill publisher UI
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-10-06 11:29:23 +05:30
Harsh Shandilya
3ddd06679f
Resolve lock contention from lazy delegates ( #1135 )
2020-10-05 08:29:44 +05:30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a0b6f48b50
PasswordCreationActivity: properly guard rename code
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-21 07:17:34 +02:00
Harsh Shandilya
2c6d4548c5
UserPreference: fix my inability to count ( #863 )
2020-06-20 12:19:55 +05:30
github-actions[bot]
585d59859d
Update Public Suffix List data ( #864 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-06-20 08:03:15 +02:00
Harsh Shandilya
9751cde406
PasswordStore: refresh password list on swipe down in non-git mode ( #862 )
...
* PasswordStore: refresh password list on swipe down in non-git mode
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-06-19 00:07:05 +05:30
Diogenes Molinares
0a4bcc57f5
Avoid destination's file outside repository ( #861 )
2020-06-18 19:49:31 +05:30
Diogenes Molinares
23b488a8eb
Add support for category renaming ( #854 )
...
* rename category
* changed CHANGELOG
* IDE Refactor
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* change Stack to List and fix bug when empty category name
* create intermediate folders
* little fixes and KDoc added
* Reuse existing move code
* change button Cancel => Skip
* use canonicalPath to confirm destination inside repository
* change error message
* update KDoc
* show different error to user
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-06-18 14:07:26 +02:00
Fabian Henneke
33b3f54921
Refactor password generation ( #860 )
...
* 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>
2020-06-18 12:04:33 +02:00
Fabian Henneke
e25e0035a2
Update state of encrypt username checkbox onCreate ( #859 )
2020-06-18 10:23:42 +02:00
Harsh Shandilya
8ff37e953f
Improve bulk deletion and password move flow ( #855 )
...
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-06-17 18:35:46 +05:30
Diogenes Molinares
faff735a08
Properly support password renaming ( #852 )
...
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-14 15:01:43 +05:30
Harsh Shandilya
cd72d15b32
UserPreference: delete all shortcuts when repository is deleted ( #850 )
2020-06-14 13:24:46 +05:30
Harsh Shandilya
5aab4088d1
Misc UI fixups ( #851 )
2020-06-14 13:10:33 +05:30
Harsh Shandilya
d8231e112a
Break down PGP Activity into focused sections ( #776 )
2020-06-12 20:28:15 +05:30
Fabian Henneke
5d6529a4d8
Replace FileUtils with Kotlin stdlib calls ( #843 )
2020-06-10 14:49:49 +05:30
Diogenes Molinares
0050deb501
Remove Apache Commons dependencies ( #840 )
...
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-10 14:05:03 +05:30
Fabian Henneke
2fa03e3fa0
Allow custom public suffixes for Autofill ( #841 )
...
Adds a preference that allows the user to specify domains that are then
treated as additional public suffixes for the purposes of Autofill.
2020-06-09 13:45:23 +02:00
github-actions[bot]
02b7f5559d
Update Public Suffix List data ( #834 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-06-06 10:55:10 +05:30
Harsh Shandilya
448e70704a
AccessibilityAutofill: disable the service above Oreo ( #827 )
2020-06-05 23:52:02 +05:30
Fabian Henneke
2ab44a4580
Don't show an error if password prompt is cancelled ( #833 )
2020-06-04 20:01:25 +05:30
Fabian Henneke
4172c70c86
Improve Git password/passphrase dialog behavior ( #829 )
...
* Reset PasswordFinder retry state after authentication
* Memorize password inbetween Git commands
2020-06-03 10:08:47 +02:00
Fabian Henneke
0c01a5bbf9
Remove a misguided require from GitOperation ( #826 )
2020-06-02 16:11:08 +05:30
Fabian Henneke
43ae4bbdb7
Address GitOperationActivity regressions ( #824 )
2020-06-02 15:03:38 +05:30
Simao Gomes Viana
e922b5260f
app: main: res: add bools.xml with LeakCanary debug build config ( #821 )
...
According to https://square.github.io/leakcanary/recipes/#leakcanary-in-release-builds this is necessary. As of now, the latest snapshot build crashes when starting. This is needed to prevent that.
2020-05-31 22:33:32 +05:30
Harsh Shandilya
5a34f444c2
Completely revamp decrypted password screen ( #817 )
...
* Completely revamp decrypted password screen
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-05-31 10:12:31 +02:00
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
Fabian Henneke
81c4960dd6
Fix GitAsyncTask activity handling in error case ( #818 )
2020-05-30 21:55:14 +02:00
Fabian Henneke
cd0b23e003
Make commitChange honor finishWithResultOnEnd ( #815 )
...
If PasswordRepository.isGitRepo() returns false, commitChange currently
doesn't honor the finishWithResultOnEnd parameter, which causes
Autofill generate flows to hang on a blank AutofillSaveActivity.
This commit lets commitChange mimic what GitAsyncTask does with the
parameter.
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-05-30 21:08:38 +02:00
Fabian Henneke
2428d4c0de
Switch password authentication over to SSHJ ( #811 )
...
* Switch password authentication over to SSHJ
* Address review comments and refactor further
2020-05-30 19:39:17 +02:00
Élie Bouttier
72ede314ef
Fix i18n fr ( #813 )
2020-05-30 22:32:16 +05:30
github-actions[bot]
a8f6669e35
Update Public Suffix List data ( #808 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-05-29 10:28:37 +05:30
Harsh Shandilya
e7463ec24c
Remove HOTP/TOTP support ( #806 )
2020-05-28 22:42:13 +05:30
Harsh Shandilya
ffcbabc2f4
Configure IME options and focus direction ( #805 )
2020-05-28 16:54:33 +05:30
Fabian Henneke
97911c5877
Use SSHJ for SSH public key authentication ( #801 )
2020-05-28 09:57:30 +05:30
github-actions[bot]
fea82fed47
Update Public Suffix List data ( #804 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-05-28 09:41:00 +05:30
Harsh Shandilya
4084727aad
treewide: update fragments to use LayoutRes constructor ( #802 )
...
Third time's the charm
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-27 17:53:44 +02:00
Harsh Shandilya
15665244fc
Resolve ViewBinding regressions ( #799 )
...
* PasswordStore: remove broken snippet
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Cleanup code and remove incorrect onCreateView uses
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Fixup imports
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-27 12:54:03 +05:30
github-actions[bot]
aeac72286f
Update Public Suffix List data ( #798 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-05-27 10:58:57 +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
Fabian Henneke
96ed53206e
Remove "name" from the list of username heuristics ( #793 )
2020-05-25 17:21:12 +05:30
github-actions[bot]
bf688c28f9
Update Public Suffix List data ( #792 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-05-25 08:17:30 +02:00
Harsh Shandilya
f1befcf7f3
BaseGitActivity: always enforce absolute URLs ( #788 )
2020-05-24 16:15:07 +05:30
Harsh Shandilya
d034da8d01
Fix tests for #778
...
And this is why you rebase your PRs before merging :^)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23 16:00:03 +05:30
Fabian Henneke
a6eb4b4e21
Make connection mode a <= 1 toggle group to prevent UI overflow ( #778 )
2020-05-23 15:27:52 +05:30
github-actions[bot]
3711bb9aa7
Update Public Suffix List data ( #785 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-05-23 11:51:08 +05:30
Harsh Shandilya
d103d6d4ba
Add tests for GitServerConfigActivity ( #783 )
...
* Add tests for GitServerConfigActivity
* github: disable animations before running UI tests
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-17 01:14:09 +05:30
Harsh Shandilya
7c0d99b8b8
treewide: correct misspellings ( #781 )
...
app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.kt:71:31: corrected "occured" to "occurred"
app/src/main/java/com/zeapo/pwdstore/git/PullOperation.kt:45:31: corrected "occured" to "occurred"
app/src/main/java/com/zeapo/pwdstore/git/SyncOperation.kt:60:31: corrected "occured" to "occurred"
app/src/main/java/com/zeapo/pwdstore/git/ResetToRemoteOperation.kt:52:31: corrected "occured" to "occurred"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:10:22: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:15:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:16:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:17:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:20:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:23:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:24:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:27:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:30:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:36:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:38:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:39:31: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:41:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:42:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:45:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:47:35: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:111:54: corrected "Dipthong" to "Diphthong"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:113:30: corrected "DIPTHONG" to "DIPHTHONG"
app/src/main/java/com/zeapo/pwdstore/pwgen/Phonemes.kt:207:56: corrected "DIPTHONG" to "DIPHTHONG"
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-14 14:55:32 +02:00
Fabian Henneke
de4ce44531
Add specific error messages to GitServerConfigActivity
2020-05-14 12:00:30 +02:00
Fabian Henneke
f806438f2c
Use absolute paths for custom ports, relative for default port
2020-05-14 12:00:30 +02:00
Fabian Henneke
42981cd52b
Improve Git/HTTPS URL generation
2020-05-14 12:00:30 +02:00
Fabian Henneke
698499ba6d
treewide: Reformat XML resources again ( #774 )
2020-05-14 00:22:49 +05:30
Harsh Shandilya
c0332c42ff
treewide: fix copyright template and apply to all files ( #773 )
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-13 21:01:41 +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
b16620b55c
Add setting for fallback username ( #772 )
...
* PasswordEntry: remove useless annotations
Turns out VisibleForTesting only applies for documentation purposes. Boo >:(
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* PasswordEntry: silence locale warning
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add setting for fallback username
Fixes #763
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-11 22:13:03 +02:00
Harsh Shandilya
041cf00510
Treewide codestyle cleanup ( #765 )
...
- 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
2020-05-10 19:21:39 +05:30
Harsh Shandilya
94dc92f8d7
Miscellaneous UI tweaking ( #771 )
...
* Remove dangling UI element and relayout authentication modes
* Drop unnecessary actionBarPopupTheme declaration
* Improve ssh keygen UI
* Commonize button styling
* Tweak save button in server config
* Tweak generate button in ssh keygen
* Commonize OutlinedButton style
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-10 14:25:59 +05:30
Fabian Henneke
9a77f6bbea
Use NoBackgroundTheme for utility activities ( #770 )
2020-05-09 19:44:24 +02:00
Harsh Shandilya
4c461fb174
Introduce no-auth mode for connections ( #768 )
...
Fixes #758
Fixes #526
2020-05-08 20:50:04 +05:30
Harsh Shandilya
ed3312b303
PasswordEntry: add user to the potential candidates for username ( #766 )
2020-05-06 13:59:48 +05:30
Harsh Shandilya
feab56994d
PasswordEntry: add more potential fields for username ( #764 )
2020-05-06 01:58:05 +05:30
Harsh Shandilya
69e887f3d8
Better handle non-git repositories ( #756 )
2020-05-03 01:39:16 +05:30
Harsh Shandilya
ced8bcca01
Confirm password move if it will replace an existing one ( #757 )
...
* Confirm password move if it will replace an existing one
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: update
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-01 16:32:58 +05:30
Fabian Henneke
c41100eff9
Use official FastScroll fix and refactor PasswordFragment ( #753 )
2020-04-29 08:53:27 +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
Fabian Henneke
d1abc09ef7
Fix Autofill icons in dark mode ( #748 )
2020-04-28 13:30:22 +05:30
Harsh Shandilya
8cada17bcb
Add toggle for debug logging ( #745 )
2020-04-25 20:34:33 +05:30
Harsh Shandilya
f89d5c282f
Improve UX around settings items ( #744 )
...
Fixes #461
2020-04-25 16:53:40 +05:30
Maxime Catrice
f7dbac4649
Fix search if external root dir starts with a dot ( #743 )
...
Fixes #740
Co-Authored-By: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-04-25 15:18:19 +05:30
Harsh Shandilya
73695e2493
auth: redo implementation with a cleaner and simpler API surface ( #741 )
2020-04-24 15:00:33 +05:30
Harsh Shandilya
bee20ac44a
Better detect uninitialized repositories and offer to clone ( #738 )
...
* PasswordRepository: more comprehensive check for valid repository
* PasswordFragment: Give 'repo uninitialized' Snackbar some purpose in life
* GitOperationActivity: finish immediately when an unhandled request code is used
* PasswordFragment: Make uninitialized repo Snackbar indefinite
* spotless
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-24 02:05:07 +05:30
Harsh Shandilya
3d8cea5966
Improve permission handling logic ( #732 )
...
* Improve permission handling logic
Ensure we always ask for storage permissions when required
* Refactor storage permission checks and invert return value
* PasswordStore: improve permission grant flow
* strings: slightly reword permission grant request message
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-22 21:57:52 +05:30
Fabian Henneke
00361a58c7
Fix crash when using type independent sort ( #734 )
2020-04-22 18:13:56 +02:00
Fabian Henneke
9c1cc8690d
Mark Autofill onboarding dialog as seen on dismiss ( #731 )
2020-04-22 14:44:25 +05:30
Fabian Henneke
c302d6fe58
Never obscure OK button in Autofill onboarding UI ( #729 )
2020-04-21 21:38:02 +02:00
Harsh Shandilya
e6ea5f6a08
PasswordStore: onboard users to Oreo autofill
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 18:39:00 +05:30
Harsh Shandilya
b0774febb1
Application: only install logging tree in debug features build
...
We should be at a stability level now that does not require logging in prod
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:55:26 +05:30
Harsh Shandilya
500ab60973
treewide: switch to logging via timberkt
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:55:26 +05:30
Harsh Shandilya
72166c6912
treewide: use getSystemService extension everywhere
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:55:25 +05:30
Harsh Shandilya
d505151662
treewide: use edit extension and cleanup some deprecation
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:55:25 +05:30
Harsh Shandilya
e1921b26e0
Remove unused import
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:55:25 +05:30
Harsh Shandilya
77096c1702
BaseGitActivity: don't remove saved password unnecessarily
...
if previousUrl is empty it means that this the first time the method is being called, and url
has not been built yet. We let things slide for the first pass so that the actual logic
only kicks in when it needs to.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 15:36:30 +05:30
Harsh Shandilya
47c2875e93
Fix protocol validation ( #726 )
...
* GitOperation: code cleanup
* WIP: Fix validation
* Fixup SSH validation
* Spotless
* Remove logging of MalformedURLException
Co-authored-by: Fabian Henneke <fabian@henneke.me>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-20 13:29:10 +05:30
Harsh Shandilya
99aa0d9bb2
Validate hostname protocol before saving ( #723 )
...
* RFC: protocol validation
* Use java.net.URL for saner parsing
* Improve protocol correction; handle ssh://
Co-authored-by: Fabian Henneke <fabian@henneke.me>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19 17:13:39 +05:30
Harsh Shandilya
aaeb899fb6
PgpActivity: hide category view when there's no text
...
Co-Authored-By: Fabian Henneke <fabian@henneke.me>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19 14:11:19 +05:30
Harsh Shandilya
17385892cb
PasswordFragment: Replace fab options with descriptive bottom sheet
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19 14:11:19 +05:30
Harsh Shandilya
eb5a30c3a9
PasswordFragment: animate FAB in action mode
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19 14:11:18 +05:30
Fabian Henneke
e5d178ea3c
Work around incompatibility between AndroidFastScroll and recyclerview-selection ( #721 )
...
* Work around incompatibility between AndroidFastScroll and recyclerview-selection
* move hacked recyclerview into separate package
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Make RecyclerViewHelper private static
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-19 10:40:49 +02:00
Harsh Shandilya
934c256edd
Resolve lint warnings
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-18 23:52:16 +05:30
Harsh Shandilya
5d884a8a74
SshKeygenTask: fix build error
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-18 23:52:15 +05:30
Harsh Shandilya
beaec159e8
Update SSH clear passphrase preference to handle HTTPS ( #716 )
...
* Update SSH clear passphrase preference to handle HTTPS
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Explicitly set preference to visible if it can do anything
* Address review comments
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-04-17 20:12:48 +02:00
Harsh Shandilya
0e1dd641d2
AutofillDecryptActivity: Show toast on Main dispatcher ( #717 )
...
Without this the activity will crash rather than display the error
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-17 23:04:18 +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
Harsh Shandilya
4ffd7ed9bf
Enable emulator tests ( #708 )
...
* github: Enable instrumentation testing in PRs
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Upgrade to Gradle 6.3
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove outdated and broken tests, redo PasswordEntryTest in Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove now unused test assets
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* github: Disable debug APK uploads in PR testing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update .github/workflows/pull_request.yml
* Update .github/workflows/pull_request.yml
Switching to Ubuntu fails due to the SDK 29 missing.
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-04-17 00:24:13 +05:30
Fabian Henneke
8b4751f825
Improve SSH private key validation ( #713 )
...
* Improve SSH private key validation
* Address review comment
2020-04-16 18:34:55 +05:30
Diogenes Molinares
f269bc7d28
See file's metadata to validate SSH key ( #709 )
...
* See file's metadata to validate SSH key
* See file's metadata to validate SSH key
* change exception to throw and refactoring
* catch IOException and IllegalArgumentException as equal
* run ./gradlew spotlessApply
* Apply suggestions from code review
* validate BEGIN, END markers and size != 0
* Apply suggestions from code review
* Update app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
* Don't throw on SSH key import failure
* Style nits
* Codestyle and copy nits
Co-authored-by: Fabian Henneke <fabian@henneke.me>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-16 17:21:24 +05:30
Fabian Henneke
e4aa673537
Reduce build warnings ( #712 )
...
* Add annotations to and reformat SearchableRepositoryViewModel.kt
* Address build warnings other than meaningful deprecations
* Deal with warnings in UserPreference.kt
2020-04-16 12:20:45 +02:00
Fabian Henneke
2a6326ec0e
Address review comments
2020-04-15 22:47:41 +05:30
Fabian Henneke
7cd6f1d1cf
Add a switch between Fuzzy and StrictDomain mode to Autofill search view
2020-04-15 22:47:41 +05:30
Fabian Henneke
441b4d3b68
Add support for "work/example.org.gpg" folder layout
2020-04-15 22:47:41 +05:30
Fabian Henneke
5a3220527f
Respect encrypted username when filling Autofill generated entry
2020-04-15 22:47:41 +05:30
Fabian Henneke
d6db10e089
Match any path component in StrictDomain FilterMode
2020-04-15 22:47:41 +05:30
Fabian Henneke
b633cc1f3d
Make existing tests buildable again
2020-04-15 22:47:41 +05:30