Commit graph

37 commits

Author SHA1 Message Date
Harsh Shandilya
8bd156dea6
Rework settings to use ModernAndroidPreferences (#1236)
Co-authored-by: Fabian Henneke <fabian@hen.ne.ke>
2021-01-12 11:19:28 +05:30
Harsh Shandilya
37c8b416d5
Sync localisations with Crowdin (#1256)
Fixes #1254

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-21 11:48:08 +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
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
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
Fabian Henneke
cbb96397d1
Add Keystore backend for SSH public key authentication (#1070) 2020-09-01 13:42:27 +05:30
Nosweh
0f0d1994e5
Add Activity to view the Git commit log (#1056) 2020-08-28 21:01:40 +05:30
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
fb5f4e421d
Add pt-BR translations and cleanup resources (#947) 2020-07-22 13:37:36 +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
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
Harsh Shandilya
d8231e112a
Break down PGP Activity into focused sections (#776) 2020-06-12 20:28:15 +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
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
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
69e887f3d8
Better handle non-git repositories (#756) 2020-05-03 01:39:16 +05:30
Harsh Shandilya
f89d5c282f
Improve UX around settings items (#744)
Fixes #461
2020-04-25 16:53:40 +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 4b20371dd4.

* Revert "temp: disable leakcanary"

This reverts commit 2db7d41bd6.

* 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
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
Hussein Al Abry
ab034a8ba3
pull translations from transifex (#691)
russian translation at 99%
2020-04-07 21:11:49 +00:00
Harsh Shandilya
98e9f6734a
Revise copy (#656)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-21 17:44:13 +05:30
حسين
249248e168
improve translations with format strings
delete dialog format string

dialog text format
2019-01-02 19:18:18 +00:00
حسين
06a7d79260
set untranslateable strings 2019-01-02 14:30:11 +00:00
Harsh Shandilya
b267321d54 Rewrite pwgen package in Kotlin (#463)
* Rename classes to not be ugly as all hell

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>

* PgpActivity: Cleanup

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>

* Rewrite pwgen package in Kotlin

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>

* PRNGFixes: Remove constant conditions

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-01-02 15:00:33 +01:00
حسين
81aff5d870
Commit messages (#455)
* use full password path in add/edit git commit message

* commit strings are format strings

* use format strings in other languages

* use move/rename commit message
2018-12-25 14:39:32 +00:00
Christoph Böhmwalder
e41287cb16 show age for passwords in detail view (#339)
* show age for passwords in detail view

Implements #330.
This fetches the latest commit where the respective password file was
changed from the current HEAD and outputs the relative time since
the last change on the decrypt page.

* Move lastChanged logic out of PgpActivity

This nicely encapsulates the lastChanged logic (and thus separates it
from dependencies like git). The last changed date is now passed as a
timestamp using the Intent's extra info.
2017-12-26 14:35:25 +01:00
Felix Bechstein
e169235d96 Fix more lint (#325)
* fix/ignore lint errors, run lint on travis

* fix/ignore some lint warnings
2017-08-02 10:15:31 +01:00
Felix Bechstein
2f75f99108 Support pasting username with autofill, fixes #192 (#321)
* Support pasting username with autofill, fixes #192

The workflow for pasting usernames is as follows:

1. Select password field
2. Select password store entry with username and paste it
3. Select any other editable field
4. Paste username

* Show toast when username is available for pasting
2017-07-26 08:04:45 +01:00
Felix Bechstein
5da9e67545 Fix lint warnings (#319)
* Fix lint errors/warnings

Fix a lot of lint errors and warnings.
Most things are automatically applied fixes done with android studio:

* externalize strings
* remove unused code / classes / layouts / imports
* migrate some fields to local variables

* Remove dead code from comments

Removed code that is commented out long ago.

* remove unused resources

* colors
* strings
* drawables
* layouts
* menus
2017-07-25 14:23:50 +01:00
Felix Bechstein
5cba6c62d7 Parse username from password entry, refs #192 (#318)
This is a first step of letting APS handle usernames from password
entries. It shows the username in PgpHandler and allows to copy it to
the clipboard.
2017-07-22 12:09:34 +02:00
Felix Bechstein
6ce31056c9 Show extra content w/o copy password, fixes #288 (#317)
Show extra content even if password is not copied to clipboard.
Add toggle to preferences as well.
2017-07-16 16:41:47 +02:00
Felix Bechstein
8e6ab25572 externalize strings (#316) 2017-07-16 16:38:30 +02:00
Felix Bechstein
00e0c2541c update german translation (#314) 2017-07-15 22:29:30 +02:00
Daniël van den Berg
d93692414a Added the ability to make an invisible password visible using a button, and added some rough translations. (#230) 2016-10-17 13:00:58 +02:00
DSIW
d32b03baa5 Add german translation and extract some string as string resource 2016-06-19 16:40:29 +02:00