Commit graph

153 commits

Author SHA1 Message Date
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
Devin J. Pohly
70f7d3b199
Autofill: add support for Bromite and Ungoogled Chromium (#1041) 2020-08-22 15:18:44 +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
84afcb183f
Update CHANGELOG
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21 01:11:13 +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
GitHub Actions
5bc72e8958
Prepare release 1.11.0 2020-08-18 21:16:37 +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
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
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
Harsh Shandilya
12a83e5c36
Merge branch 'release' into develop
* release:
  build: bump version
  Downgrade coroutines to 1.3.6 to fix VerifyErrors

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-31 13:37:25 +05:30
Harsh Shandilya
327e28bb57
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-31 13:34:18 +05:30
Fabian Henneke
edec55dc8c
Downgrade coroutines to 1.3.6 to fix VerifyErrors 2020-07-31 09:45:02 +02:00
Harsh Shandilya
cea9f4b942
Merge branch 'release' into develop
* release:
  build: bump version
  Prepare release 1.10.2
  Fix two SMS Autofill crashes (#985)
  Fix TOTP import button check semantics (#982)
  Properly handle files without passwords (#969)
  Expand OTP and PasswordEntry tests (#968)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-30 14:51:57 +05:30
GitHub Actions
cccf3e39ec Prepare release 1.10.2 2020-07-30 08:58:45 +00:00
Fabian Henneke
23158ce6da
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.

(cherry picked from commit 3afeff45d8)
2020-07-30 14:00:33 +05:30
Harsh Shandilya
c132cc98e6
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>
(cherry picked from commit ecf96aa066)
2020-07-30 14:00:25 +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
Harsh Shandilya
64a6e0f4e9
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>
(cherry picked from commit 62dbc183d5)
2020-07-30 13:49:26 +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
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
0cc3aac910
CHANGELOG: update
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-26 17:01:20 +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
GitHub Actions
e15a1d2159 Prepare release 1.10.1 2020-07-23 16:30:46 +00:00
Fabian Henneke
f1ad84c34b
Add CHANGELOG entries for 1.10.1 (#961)
(cherry picked from commit da3ca10de6)
2020-07-23 21:38:11 +05:30
GitHub Actions
f53f769543
Prepare release 1.10.0 2020-07-22 15:01:49 +05:30
Harsh Shandilya
fb5f4e421d
Add pt-BR translations and cleanup resources (#947) 2020-07-22 13:37:36 +05:30
Fabian Henneke
1c8f6b9886
Add changelog entry for ed25519 support (#943) 2020-07-20 08:46:53 +02:00
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
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
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
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
0ead6b2a4d
Mention #482 being fixed in the changelog (#925) 2020-07-08 14:20:08 +05:30
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
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
Harsh Shandilya
f49d9c35e6
Merge remote-tracking branch 'origin/release' into release-catchup
* origin/release:
  Bump version
  Prepare release 1.9.2
  update changelog
  Workaround to prevent crash on first run (#898)
  build: bump version
  Prepare release 1.9.1
  Backport Actions fixes (#894)
  Remove API 30 from pull request test matrix (#879)
  CHANGELOG: reword to better clarify fixes
  Prevent cached passwords from being wiped (#884)
  Use remembered credential even if it is empty (#880)
  Reset SSH passphrase after SSH key import (#885)
  Add relnotes for #871 (#872)
  Add org.gnu.icecat as a trusted multi-origin browser (#871)

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-01 13:08:55 +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
GitHub Actions
d8469d3790 Prepare release 1.9.2 2020-06-30 09:32:17 +00:00
Harsh Shandilya
d6891fa7a0
update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-30 14:40:11 +05:30
Fabian Henneke
8bc662c9c0
Offer TOTP Autofill for OTP fields (#899) 2020-06-29 10:12:19 +02:00
Harsh Shandilya
063c1a1144
Reintroduce TOTP support (#890)
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-06-29 12:08:59 +05:30
Harsh Shandilya
56c301dc7c
Sync with release branch (#896) 2020-06-28 22:36:20 +05:30
GitHub Actions
daedc3fa4b Prepare release 1.9.1 2020-06-28 16:02:53 +00:00
Harsh Shandilya
9fc5d337b8
UI fixups (#892) 2020-06-28 01:45:39 +05:30
Harsh Shandilya
e21c8cd0fc
CHANGELOG: reword to better clarify fixes
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 12:52:33 +05:30
Fabian Henneke
8f7d3052ea
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>
(cherry picked from commit b60c5fb605)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-26 12:44:32 +05:30
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
Harsh Shandilya
694e461f6c
Add relnotes for #871 (#872)
(cherry picked from commit d5310bdd8e)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-25 00:28:07 +05:30
Harsh Shandilya
d5310bdd8e
Add relnotes for #871 (#872)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-22 12:30:57 +02:00
GitHub Actions
de4a5d2881 Prepare release 1.9.0 2020-06-21 21:13:16 +00:00
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
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
d8231e112a
Break down PGP Activity into focused sections (#776) 2020-06-12 20:28:15 +05:30
Harsh Shandilya
7569d40270
Update changelog and pull request template (#842) 2020-06-09 19:20:25 +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
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
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
Harsh Shandilya
ffeb4c17d3
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-24 16:21:05 +05:30
Harsh Shandilya
ffe16e3488
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23 15:47:15 +05:30
Harsh Shandilya
22fd47d20c
CHANGELOG: sync with master
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23 15:45:07 +05:30
Harsh Shandilya
5591267318
CHANGELOG: sync with master (#775) 2020-05-14 01:51:56 +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
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
Harsh Shandilya
1e67936751
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-29 03:12:29 +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
Harsh Shandilya
9a843b08f3
build: bump version for patch release
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-23 12:52:24 +05:30
Harsh Shandilya
ec0d478b85
build: bump version to 1.7.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-21 18:39:01 +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
4f20c49abb
Request WRITE_EXTERNAL_STORAGE for external password repository (#698)
* PasswordStore: request WRITE_EXTERNAL_STORAGE permission instead

We wish to be able to write to our password store directory as well.

Fixes #697
Fixes #365

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

* Reword changelog entry

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-13 00:31:25 +05:30
Harsh Shandilya
bc463f3c64
Significantly improve app theming (#679)
* Update CHANGELOG

* Use outlined box style in folder creation dialog

* Add user-facing choice for app theme

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-29 20:03:50 +05:30
Harsh Shandilya
e05b544894
[ci skip] Update CHANGELOG
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-26 19:05:45 +05:30
Harsh Shandilya
de489b0041 CHANGELOG: Fix links
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-20 14:48:53 +05:30
Harsh Shandilya
61655ecfd3 Bump version to 1.6.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-20 14:48:53 +05:30
Harsh Shandilya
73058d10a8
Resolve various memory leaks (#637)
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>
2020-03-05 21:05:50 +05:30
glowinthedark
09005f8043
swipe to refresh using androidx SwipeRefreshLayout (#645)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-01 02:20:09 +05:30
glowinthedark
947e41105b
Add xkpasswd-style password generator (#633)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-01 02:16:31 +05:30
Gigahawk
4afb23bbb4
Add longpress to copy implicit username (#635)
* Add longpress to copy implicit username

* Address review comments

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-02-24 07:37:29 +05:30
Harsh Shandilya
1a38ecbe75
Delete passwords recursively (#639)
Delete passwords recursively

* Fixes #638 
* Update CHANGELOG

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-02-22 22:52:35 +05:30
Harsh Shandilya
47748b9ba6 Update CHANGELOG
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-02-21 23:01:54 +05:30
Gigahawk
9255583f2d
Better UI flow (#630)
* 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>
2020-02-20 11:49:09 +05:30
Harsh Shandilya
f295e97de6
Allow creating folders (#623)
* 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>
2020-01-28 01:49:37 +05:30
Harsh Shandilya
27e1952375 Add fastscroller with alphabetic hints (#616)
* Setup basic fast scroll

Work towards #558 

* Implement PopupTextProvider

Fixes #558

* Update changes

* Hide system scrollbars

* Port fastscroll to autofill preferences

* Spotless

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-26 11:49:45 +05:30
Harsh Shandilya
2c78470642
Switch to Timber for logging (#617)
* Switch to Timber for logging

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

* Update changelog

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

* Fix rebase error

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-01-26 11:35:10 +05:30