aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com
AgeCommit message (Collapse)Author
2020-12-05Refactor package structure (#1233)Harsh Shandilya
* idea: default test runner to Gradle * Kick off package structure revamp * Reparent all classes under dev.msfjarvis.aps Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-03Set 10 second timeout on JGit transport commands (#1230)openpgp-ktx-v2.2.0autofill-parser-v1.0.0Harsh Shandilya
* GitOperation: set a 10 second connection timeout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-02Use countdown chronometer on API 24 and above (#1228)Aditya Wasan
* Use countdown chronometer on API 24 and above Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Do not use SharedPreferences inside ClipboardService ClipboardService run in it's own process and SharedPreferences do not support multiple processes. Due to this changes in notificaion clear time are not reflected to the ClipboardService. This commit fixes that by passing time explicitly from the main app process. Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-12-01GitCommandExecutor: make committer match author (#1226)Harsh Shandilya
* 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-11-22Automatically dismiss decryption screen after 60 seconds (#1216)Harsh Shandilya
* 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-21App shortcut fixes (#1213)Harsh Shandilya
2020-11-06Fix extra content for multiple username fields (#1192)Harsh Shandilya
Fixes #1190 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-05Resolve Autofill breakage below API 30 (#1187)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-03Fix Autofill regression caused by empty dataset (#1184)Fabian Henneke
2020-11-03Make autofill-parser API explicit and refactor (#1182)Fabian Henneke
2020-11-02Improve Autofill UI and enable inline presentations (#1181)Fabian Henneke
* 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-01build: compile against SDK 30 and resolve deprecationsHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-31Finish activity when Autofill Generate is cancelled (#1179)Fabian Henneke
2020-10-23Minimal support for MIME secret encoding (#1170)Joris Minjat
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-10-23Workaround AndroidX lifecycle requirements in OpenKeychain auth (#1168)Harsh Shandilya
* 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-23Rollback automatic synchronization feature (#1165)Harsh Shandilya
* Revert "Add option to automatically sync repository on app launch (#1137)" Fixes #1163 This reverts commit 92f1aab25da12411aa256c3b763e0cb6182e9320. 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-22Remove accessibility autofill support (#1162)Harsh Shandilya
* autofill: remove Accessibility backend Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: update Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21GitServerConfigActivity: add quick-fix for HTTPS URLs with custom portsHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21GitServerConfigActivity: set auth mode visibility on launch as wellHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19Convert PasswordRepository to an objectHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19PasswordRepository: split out PasswordSortOrderHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19PasswordStore: Remove unnecessary class-level variablesHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-17Use BottomSheet in place of Snackbar for longer messages (#1157)ashoksinghal
2020-10-15Add option to automatically sync repository on app launch (#1137)Aditya Wasan
* 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-11ProxyUtils: correctly handle the 'no proxy' case (#1148)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08Temporarily work around SSHJ compatibility issues (#1142)Fabian Henneke
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-08Introduce app-wide HTTPS proxy setting (#1134)Harsh Shandilya
2020-10-06Show new FillResponse right after publisher reset (#1138)Fabian Henneke
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-06Fix Autofill publisher changed layout (#1136)Harsh Shandilya
* 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-05Resolve lock contention from lazy delegates (#1135)Harsh Shandilya
2020-10-02all: refactor ActivityResultContracts usages to adhere to API requirementsHarsh Shandilya
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-02build: uprev dependenciesHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01Add key selection step to onboarding flowHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01PasswordCreationActivity: tweak logic for determining if identifier ↵Harsh Shandilya
selection is needed Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01Make unset author/email behavior match GitHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-29Unwrap root cause for InvalidRemoteException (#1122)Harsh Shandilya
* 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-24Restore settings button to onboarding screen (#1119)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-21Remove Autofill onboarding prompt and cleanup strings (#1116)Harsh Shandilya
2020-09-21Refactor auth mode check/uncheck (#1115)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19Add check for potential issues with SSH URLHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19BasicBottomSheet: initHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19Finish activity in case of external directory (#1110)Aditya Wasan
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-09-18Misc cleanups to build and extension functions (#1108)Harsh Shandilya
2020-09-18Add annotation to WelcomeFragment class (#1107)Aditya Wasan
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-09-16Autofill: Extract AutofillParser into separate subproject (#1101)Vincent Breitmoser
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-09-15Update on-boarding UI (#1099)Aditya Wasan
* 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-14Add tentative workaround for dialog crashes and refactor Git-related code ↵Harsh Shandilya
(#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-13PasswordRepository: properly gate symlink feature (#1098)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-12Continue onboarding if permissions are granted prematurely (#1097)Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-11Correctly count children in password list (#1095)Harsh Shandilya