Add rules that match password/username fields even if no heuristic matches, but
only when the user explicitly requests Autofill. Since there is now a generic
way to always trigger Autofill (at least in apps), other rules no longer need
to match fields that fail the heuristics.
Along the way, the apply functions in AutofillStrategy.kt are renamed to match
in order to not conflict with the Kotlin apply() extension function.
Furthermore, named parameters are used more widely now to pass around Booleans.
Adds support for the Autofill feature first available in Android Oreo.
In compatible apps and browsers, login forms are automatically detected and
the user is presented with options to fill or generate credentials. In most apps
and certain browsers, the service will also offer to create new Password Store
entries from credentials entered into login forms.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
This migrates the clipboard clear logic into a foreground service that allows us to also provide a notification that runs the clear task immediately on click, rather than wait for the timeout.
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Filter against entire pathname when searching
* Add option to directly open search dialog on start
* Replace basic search filter with fuzzy search
* Update CHANGELOG
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Open search in onResume, force search icon to always show
* Add option to always search from root directory
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
* Make navigation match window background
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Remove light navigation flag
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Use black navbar in light theme
windowLightNavigationBar is not portable across API 23 to 29 so we're better off with this solution
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Simplify folder dialog title UI
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Make night theme completely flat
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Remove unnecessary type
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Don't try to use non-existent external repo
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
* Introduce EmitExpandableTransformationBehaviour
* Implement expand transition
* More folder work
* Add icons and tweak layout clipping
Rishi again with the icon rescue
* Theming rework
* Dont set tag
* Update list and commit after creating folder
* Fix theme issues
* Add dialog title
* Fix hint text color
* Remove commit method
* Cleanup
* Update CHANGELOG
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
* Gradle cleanup
* Update package name
* Remove release APK from git
This should have never been here
* Move package name to dependencies.gradle
* github: Setup caching for gradle
* Update Play Store art
* gradle: Use constraints API in place of deprecated force
* Update dependencies
* Raise minSdk to 23
* Target SDK 28 for now
External storage handling changes are atrocious to support in this codebase so we'll be holding out as far as we can.
* Revert "Opt into legacy external storage handling (#595)"
Not needed on SDK 28
This reverts commit 3f249e4bff.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* proguard: Don't obfuscate stacktraces
* Deploy snapshots from this branch
* PasswordRepository: Handle uninitialized settings
* Keep classes that are used in parcels
* Revert "Deploy snapshots from this branch"
This reverts commit 66918ca2b90dbf7629bd56606eb3d3f578d96105.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Setup snapshot deployment
* README: Update repository links
* README: Update workflow badge link
* README: Add link to Snapshot builds
* Fix snapshot/pull-request build conflict
* Deploy from feature/deploy-snapshots as well
* Revert "Deploy from feature/deploy-snapshots as well"
Confirmed it works well
This reverts commit 06f6bc0e8c19f238643655d09ca20f83dd416283.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
The app is too messy to migrate properly to SAF so let's just take the easier route for now.
Fixes#593
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* Break SshKeyGen into multiple files
* Use tinted material button
* Convert PasswordStore to kotlin
* Remove SshKeyGen
* Remove explicit imports and other tweaks
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
* Switch out folder icon
* Switch out password icon
* Switch out 'save and copy' icon
* Switch out save icon
* Switch out move icon
* Switch out delete icon
* Switch out edit icon
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
The Kotlin DSL's API is extremely terrible and makes the simplest tasks annoying. It also introduces a very noticeable build overhead that I'd rather not have.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
While we're here, also clarify we're strictly GPL-3.0 and not automatically
opting into future revisions of the license.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
* [WIP] Initial biometric authentication support
* Redirect decryption app shortcut to go through LaunchActivity
* UserPreference: Clear existing shortcuts when toggling password auth
Clears out any auth-bypassed entries that exist
* Fix hilarious copypasta derp
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
Caveats:
- The openpgp preference had to be removed because the open-intents developers are too lazy to update their libraries. Over the coming weeks I will be reimplementing a local solution for this instead.
- The autofill dialog is broken but I since it is being worked on in #410 already I'm not going to bother fixing it.
We were previously depending on it transitively coming into
the dependency graph but AndroidX artifacts are increasingly
getting rid of transitive deps so let's start being explicit about
our dependencies.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>