Commit graph

1714 commits

Author SHA1 Message Date
Harsh Shandilya
bea80163ce
ui-compose: import Manrope font 2022-07-07 11:28:59 +05:30
Harsh Shandilya
58342ca426
Fix suspicious indentation in Migrations.kt (#1956) 2022-06-14 08:23:25 +00:00
Harsh Shandilya
426fc924fb
Upgrade ktfmt (#1942)
* build-logic: upgrade ktfmt

* all: reformat
2022-06-09 13:51:29 +05:30
Harsh Shandilya
c319909582
Remove SourceCode Pro typeface (#1938) 2022-06-07 07:36:28 +00:00
Harsh Shandilya
bda515d1ec
Remove unused dependencies (#1930)
gradle: remove unused instrumentation testing deps
2022-05-29 14:29:36 +00:00
Harsh Shandilya
184391599b
Fix ClipboardService crash (#1928)
* Fix clipboard service crash on API 31

* all: use ints directly for SDK version checks

I much prefer it this way
2022-05-27 20:18:39 +00:00
Harsh Shandilya
88151f4bdd
Simplify BouncyCastle workaround and upgrade Fragment (#1926)
* Simplify bouncycastle workaround

* Upgrade fragment-ktx to 1.5.x
2022-05-27 07:30:10 +00:00
Harsh Shandilya
5f4bc7fafd
Allow disabling pull-to-sync operation (#1922) 2022-05-24 10:47:35 +00:00
Harsh Shandilya
37b80d5d19
Upgrade to AGP 7.2.0 (#1920) 2022-05-19 07:23:59 +00:00
github-actions[bot]
c9f6d27475
strings: sync with crowdin (#1901)
Co-authored-by: GitHub Actions <noreply@github.com>
2022-05-07 02:10:42 +00:00
Harsh Shandilya
41213da780
Upgrade to ktfmt 0.37 (#1897) 2022-05-05 03:17:15 +00:00
Harsh Shandilya
c555609f16
Misc cleanups (#1891) 2022-05-02 20:18:16 +00:00
Harsh Shandilya
d4a4ac06ed
crypto-pgpainless: prepare for error handling (#1877) 2022-04-27 17:02:36 +00:00
Harsh Shandilya
b8b0693642
Revert "app: address Overdraw lint" (#1876) 2022-04-26 14:37:10 +00:00
Harsh Shandilya
aaf6ceb8ec
all: reformat with ktfmt 0.36 2022-04-25 10:47:02 +05:30
Harsh Shandilya
62902ca80b
Reorganize crypto-common code and fix a couple minor bugs (#1868) 2022-04-24 15:55:34 +00:00
Harsh Shandilya
599abd37e8
app: address SetTextI18n lint 2022-04-24 16:47:52 +05:30
Harsh Shandilya
5bad2a7256
app: address LabelFor lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
f1556242fa
app: address ContentDescription lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
901845e745
app: address Autofill lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
975c9f5dfc
app: address MissingQuantity lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
4775d44292
app: address Overdraw lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
ecba50cbae
app: address TrustAllX509TrustManager lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
759c3b2e1a
app: address Deprecated lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
13e859baca
app: address VectorRaster lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
95f16cbf5a
app: address InlinedApi lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
9cae158e34
app: address UnusedResources lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
81b439b5f0
app: setup Lint baseline 2022-04-24 16:47:50 +05:30
Harsh Shandilya
493e869022
Remove support for external storage and raise target SDK to 31 (#1863) 2022-04-21 23:34:14 +05:30
renovate[bot]
18cff9c144
chore(deps): update dependency org.pgpainless:pgpainless-core to v1.2.0 (#1832)
* chore(deps): update dependency org.pgpainless:pgpainless-core to v1.2.0

* gradle: bump bouncycastle to 1.71

* Transparently update older BC versions

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-04-09 13:49:31 +00:00
Harsh Shandilya
0d5d5af674
Use full canonical path for classes in manifest (#1823)
* app: switch to full class names in manifest

* CONTRIBUTING: document configuration cache failures
2022-04-06 12:35:59 +00:00
Harsh Shandilya
2320201f89
Migrate namespaces to Gradle (#1805)
* ui-compose: update Gradle configuration

* gradle: fix namespace for a couple astray Compose dependencies

* all: switch to Gradle namespace property

Mirrors a similar change from AndroidX dcfa035a96
2022-03-27 12:37:18 +00:00
Harsh Shandilya
6fc1fafe99
Misc PGP v2 fixes (#1784)
* Don't throw in PGPKeyImportActivity when no file is selected

* PGPSettings: mark import option as dependent on V2 backend pref
2022-03-13 13:07:29 +00:00
Harsh Shandilya
861ca58a58
Configure Sentry with more information (#1782)
* build-logic: remove error path in Sentry plugin

* gradle: fix UnstableApiUsage warning

* build-logic: configure Sentry Gradle Plugin

* app: set traces sample-rate to 1.0

* sentry-stub: init

* app: populate Sentry user field with feature flags
2022-03-13 12:11:01 +00:00
c-steindl
20725219bd
Fix typo in german translation (#1781) 2022-03-12 11:50:23 +00:00
Harsh Shandilya
186b8352b5
Fix TOTP field flashing on each update (#1779)
* Fix TOTP field flashing on each update

* Add missing changelog entry
2022-03-11 10:54:51 +05:30
Harsh Shandilya
2f034bc237
Show remaining time in TOTP field (#1766)
* Pass down remaining time for TOTPs to UI layer

* format-common: switch TOTP flow to use co-operative cancelation

* format-common: add a regression test for OTP duration calculation

* Abstract out labels

* Switch to launchIn
2022-03-10 20:22:39 +00:00
Harsh Shandilya
47ec6059bd
app: turn off StrictMode (#1761) 2022-03-02 21:38:00 +05:30
Harsh Shandilya
778834d5e4
Upgrade ktfmt to 0.33 (#1753)
* build: upgrade ktfmt to 0.33

* all: reformat with ktfmt 0.33
2022-02-26 01:58:20 +05:30
Harsh Shandilya
d8b5880215
Fix Autofill ANR when entry has no TOTP (#1746) 2022-02-24 07:50:17 +00:00
Harsh Shandilya
acc448ce74
Use explicit Gradle tasks to handle build artifact collection (#1745) 2022-02-23 14:25:03 +05:30
Harsh Shandilya
82e3ba6ce5
Add CI job to assemble release APKs and fix build (#1742) 2022-02-21 15:12:56 +00:00
Harsh Shandilya
e343c66d8b
Cleanup R8 rules (#1739) 2022-02-21 13:15:59 +00:00
Harsh Shandilya
3d0006d610
Introduce Sentry for error reporting (#1737) 2022-02-20 19:01:19 +05:30
renovate[bot]
cca04dd40a
chore(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.2.2 (#1718)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-02-09 10:32:04 +00:00
Harsh Shandilya
664e1fbba0
Begin rework for configuration cache compatibility (#1709) 2022-02-05 01:57:41 +05:30
Harsh Shandilya
2b293e5805
Port build to Gradle 7.4-rc-2 (#1707) 2022-02-04 13:59:36 +00:00
Harsh Shandilya
cf111f1978
Refactor PasswordEntry TOTP calculation into a cold flow (#1702) 2022-02-01 19:21:01 +05:30
Harsh Shandilya
2d607c78e7
Unwind PasswordRepository's confusing control flow (#1686)
* Cleanup PasswordRepository

* Tear out nonsensical logic for getRepository
2022-01-27 09:22:15 +05:30
Harsh Shandilya
d89d500319
Move Compose code to ui-compose module (#1687) 2022-01-26 17:11:04 +00:00
Harsh Shandilya
6c7a066ea6
Add the ability to run garbage collection on the internal Git repository (#1683) 2022-01-25 13:12:23 +05:30
Harsh Shandilya
dba86c2a53
app: make Autofill intents mutable (#1682)
Fixes: b8ce4f314538 ("app: add `PendingIntent.FLAG_IMMUTABLE` flag where required")
2022-01-24 03:37:49 +00:00
Harsh Shandilya
d838b7da59
all: upgrade to AGP 7.1.0-rc01 (#1678) 2022-01-24 08:16:58 +05:30
Harsh Shandilya
98010c7ff9
LaunchActivity: ensure V2 backend setting is respected (#1677) 2022-01-23 17:55:31 +00:00
github-actions[bot]
81c2721883
strings: sync with crowdin (#1673)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-01-22 02:22:21 +00:00
Harsh Shandilya
78a90aacb3
Add support for properly dealing with incorrect passwords (#1672) 2022-01-21 00:27:04 +05:30
Harsh Shandilya
5509558eed
Parameterize key and key identifier types for KeyManager (#1669) 2022-01-18 17:40:16 +05:30
Aditya Wasan
abc62c2b6b
Refactor randomized password generator into a separate module (#1663) 2022-01-13 16:43:53 +00:00
renovate[bot]
14ef69d277
chore(deps): update dependency com.github.android-password-store:sublime-fuzzy to v2 (#1658)
* chore(deps): update dependency com.github.android-password-store:sublime-fuzzy to v2

* fix import

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-01-12 12:42:27 +00:00
Harsh Shandilya
b1832c5595
Remove unused class (#1657) 2022-01-10 11:51:41 +00:00
Harsh Shandilya
cfceb38ee7
Fix a bunch of Lint warnings and errors (#1655)
* autofill-parser: add missing `@RequiresApi` annotations

* app: remove unused strings and sync with Crowdin

* app: remove unused chip_text_color selector

* app: remove unused capitalization_type_values array

* app: add `PendingIntent.FLAG_IMMUTABLE` flag where required
2022-01-09 19:01:03 +00:00
Harsh Shandilya
35155e5584
Make PGPainless backend feature flag runtime configurable (#1654)
* Make feature flags runtime configurable

* Add a settings entry for PGPainless feature flag

* Add changelog entry
2022-01-09 17:50:22 +05:30
Harsh Shandilya
1738879fb3
Integrate PGPainless backend into the UI properly (#1647) 2022-01-09 17:04:16 +05:30
Harsh Shandilya
799f1393e4
Make CryptoHandler use Key as the abstraction layer (#1651) 2022-01-09 16:19:52 +05:30
github-actions[bot]
d6e89f0425
strings: sync with crowdin (#1636)
Co-authored-by: GitHub Actions <noreply@github.com>
2022-01-01 06:04:24 +00:00
Harsh Shandilya
a723ded00f
Revert "autofill-parser: remove Bromite from supported browsers (#1423)" (#1632)
This reverts commit 3f20678d79.
2021-12-31 04:03:50 +00:00
Harsh Shandilya
4c9413709d
Refactor BiometricAuthenticator and add proper support for retries (#1627) 2021-12-29 10:35:19 +00:00
Harsh Shandilya
17860407f9
app: migrate XkPasswd users to Diceware 2021-12-21 13:01:42 +05:30
Harsh Shandilya
a0a8200393
app: integrate diceware UI 2021-12-21 13:01:42 +05:30
Harsh Shandilya
fd46f1f0ba
app: add diceware generator dialog 2021-12-21 13:01:41 +05:30
Harsh Shandilya
0e8f899434
app: add diceware injection module 2021-12-21 13:01:41 +05:30
Harsh Shandilya
5bcbf8da08
app: add diceware dependency 2021-12-21 13:01:41 +05:30
Harsh Shandilya
a700e2a766
app: remove XkPasswd generator 2021-12-21 13:01:41 +05:30
dependabot[bot]
b59c4f068c
build(deps): bump kotlinx-coroutines-test from 1.6.0-RC to 1.6.0-RC2 (#1586) 2021-12-10 17:54:45 +00:00
Harsh Shandilya
8db0b67ce9
Refactor coroutine testing setup (#1583)
* coroutine-utils: init

* coroutine-utils-testing: init

* format-common: switch over to using DispatcherProvider

* Convert Binds method to an extension function

* Add Dispatcher module
2021-12-09 04:37:54 +00:00
Harsh Shandilya
933558caf8
Prevent Git files from turning up in search and listing (#1582)
* Prevent Git files from turning up in search and listing

* Update changelog
2021-12-09 02:41:44 +00:00
Aditya Wasan
17f640bf46
Allow importing TOTP from images (#1580)
* feat(aps): allow importing TOTP code from an image containing a QR code

Signed-off-by: Aditya <adityawasan55@gmail.com>

* Reorder OTP import options and implement it for V2

* Replace try-catch with runCatching

* Use the correct TextWatcher extension at the right place

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-12-07 16:29:03 +00:00
Aditya Wasan
38bfcfdcae
Fix missing final item in extra content pairs (#1578) 2021-12-07 20:08:16 +05:30
Harsh Shandilya
120dc5fca4
all: switch to new convention plugins 2021-12-03 12:59:57 +05:30
Harsh Shandilya
1ade4eaf64
Cleanup dependency declarations and upgrade to Kotlin 1.6.0 (#1565) 2021-12-02 19:09:54 +00:00
Harsh Shandilya
fc211418c4
Implement workarounds for Dependabot to update dependencies (#1552) 2021-11-30 12:26:05 +00:00
Harsh Shandilya
d129d5e580
Ensure logger is installed when requested (#1549) 2021-11-23 20:31:55 +05:30
Harsh Shandilya
0fad4d24b5
build: apply kotlin-common convention plugin where applicable 2021-11-16 00:22:17 +05:30
Harsh Shandilya
51956be665
Update dependencies (#1540) 2021-11-13 17:50:15 +05:30
Harsh Shandilya
bbadf4a68d
Upgrade dependencies (#1537)
* app: use MaterialAlertDialogBuilder for preference dialogs

* build: upgrade all dependencies
2021-11-08 10:54:01 +05:30
Harsh Shandilya
67e70e5936
Cleanup extra content handling (#1536)
* BasicBottomSheet: remove unnecessary custom background

Fixes: 88c9a0d487 ("app: refactor M3 themes and styles")

* FieldItemAdapter: fix typo ClipBoard -> Clipboard

* FieldItemAdapter: fix RV binding idempotency

* app: refactor FieldItemAdapter population logic

* DecryptActivityV2: wire in missing 'show password' toggle
2021-11-07 20:50:25 +05:30
Harsh Shandilya
223960d8d3
Fix password saving for V2 backend (#1534) 2021-11-04 23:28:40 +05:30
Harsh Shandilya
52f4ce06f5
Allow unauthenticated HTTPS Git access (#1533) 2021-11-03 20:32:53 +05:30
Aditya Wasan
2cf3ddf2aa
Revert "app: add dynamic colors support to Compose"
This reverts commit 2a9d2177a5.
2021-11-03 18:09:38 +05:30
Harsh Shandilya
2a9d2177a5
app: add dynamic colors support to Compose 2021-11-03 16:02:58 +05:30
Harsh Shandilya
3fc5f17920
app: remove unused M2 resources 2021-11-03 15:51:50 +05:30
Harsh Shandilya
60271ef853
app: move autofill dataset to M3 color tokens 2021-11-03 15:51:50 +05:30
Harsh Shandilya
2b87376b58
app: remove explicit style from FolderCreationDialogFragment 2021-11-03 15:51:49 +05:30
Harsh Shandilya
a0fb14d207
app: fix hard-coded themes and colors in WelcomeFragment 2021-11-03 15:51:49 +05:30
Harsh Shandilya
44e61c0c31
app: fix hard-coded themes and colors in RepoLocationFragment 2021-11-03 15:51:49 +05:30
Harsh Shandilya
5db43de6b2
app: fix hard-coded themes and colors in KeySelectionFragment 2021-11-03 15:51:48 +05:30
Harsh Shandilya
c6d45fc056
app: fix hard-coded themes and colors in CloneFragment 2021-11-03 15:51:48 +05:30
Harsh Shandilya
32d941d352
app: fix hard-coded themes in BasicBottomSheet 2021-11-03 15:51:48 +05:30
Harsh Shandilya
96170019fe
app: fix hard-coded themes in ProxySelectorActivity 2021-11-03 15:51:47 +05:30
Harsh Shandilya
8757e44272
app: fix hard-coded colors in AutofillPublisherChangedActivity 2021-11-03 15:51:47 +05:30
Harsh Shandilya
7e2a91733f
app: fix hard-coded colors in AutofillFilterView 2021-11-03 15:51:46 +05:30
Harsh Shandilya
5f08c63bc7
app: fix filename for AutofillFilterView 2021-11-03 15:51:46 +05:30
Harsh Shandilya
88c9a0d487
app: refactor M3 themes and styles 2021-11-03 15:51:46 +05:30
Harsh Shandilya
f8ad1c97fd
app: make toolbars match system bars 2021-11-03 15:51:45 +05:30
Harsh Shandilya
9a00e68ab6
app: fix system bars theming 2021-11-03 15:51:45 +05:30
Harsh Shandilya
fc662bfd25
app: remove unnecessary layout nesting 2021-11-03 15:51:44 +05:30
Harsh Shandilya
4f2383dd88
app: fix background colors for onboarding flow 2021-11-03 15:51:44 +05:30
Harsh Shandilya
f9e4e7da8a
app: remove unnecessary suppression 2021-11-03 15:51:44 +05:30
Harsh Shandilya
4a50f3fb6d
app: switch back to buttons for SSH config screen 2021-11-03 15:51:43 +05:30
Harsh Shandilya
f8088f0f44
app: switch to M3 APS theme 2021-11-03 15:51:43 +05:30
Harsh Shandilya
3c6ddc9cda
app: remove invalid color references 2021-11-03 15:51:43 +05:30
Harsh Shandilya
f1502bd389
app: fix tints for all drawables 2021-11-03 15:51:42 +05:30
Harsh Shandilya
822b4db83f
app: don't use non-null assertion for supportActionBar 2021-11-03 15:07:01 +05:30
Harsh Shandilya
eb1ed0bbd1
app: enable dynamic colors 2021-11-03 15:07:00 +05:30
Harsh Shandilya
2ee48cdab6
app: switch M3 to Manrope typeface 2021-11-03 15:07:00 +05:30
Harsh Shandilya
0834c979a5
app: add Material3 themes 2021-11-03 15:07:00 +05:30
Harsh Shandilya
22ed045ea7
Upgrade dependencies (#1526)
* gradle: upgrade all dependencies

* github: replace gradle-cache-action with official gradle-build-action

* github: update wrapper-validation-action
2021-10-28 07:04:29 +05:30
Harsh Shandilya
aac74ae451
Switch new PGP backend to use PGPainless (#1522)
* crypto-pgpainless: init

* crypto-pgpainless: add an opinionated CryptoHandler impl

* app: migrate to crypto-pgpainless

* crypto-pgp: remove

* github: remove now unused instrumentation tests job

* crypto-common: fixup package names

* wip(crypto-pgpainless): add `PGPKeyPair` and `PGPKeyManager`

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
(cherry picked from commit 02d07e9e797a8600cc8c534a731dfffcc44cfdde)

* crypto-pgpainless: use hex-encoded key IDs

* crypto-pgpainless: replace legacy Gopenpgp-generated key file

* crypto-pgpainless: fix CryptoConstants source set

* crypto-pgpainless: fix tests

* crypto-pgpainless: reinstate PGPKeyManager tests

Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-10-23 17:02:50 +05:30
Harsh Shandilya
21c8653e68
Fix proguard rules which prevent whole program minification (#1521) 2021-10-20 11:41:21 +05:30
Harsh Shandilya
6df3ba0083
Upgrade plugin dependencies and fix Javadoc generation (#1517)
* build: upgrade all plugins

* autofill-parser/openpgp-ktx: apply Dokka plugin

* Move repository configuration to settings.gradle.kts

* Replace deprecated lintOptions

* Reorder repositories
2021-10-09 13:13:14 +05:30
Harsh Shandilya
99586970a1
Cleanup and improve CI checks (#1511) 2021-10-03 12:39:24 +00:00
(´⌣`ʃƪ)
2cef6a5bb4
Replace Timber with logcat (#1509)
* Replace Timber with logcat (#1505)

* Add extension for asLog which takes a message param

Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-10-03 14:02:15 +05:30
Harsh Shandilya
571ab4e78e
Gopenpgp related fixes (#1503)
* app: rename new crypto activities

(cherry picked from commit 89be012f995b878affb7e7a592750e130c7f0f2c)

* app: allow alt backends to work without OpenKeychain

(cherry picked from commit 7bf9f01e5ef7bb24700ce3f242e5aabbabbff09e)

* app: rename ENABLE_GOPENPGP to ENABLE_PGP_V2_BACKEND
2021-09-14 22:37:55 +05:30
github-actions[bot]
30cb8cfceb
strings: sync with crowdin (#1498)
Co-authored-by: GitHub Actions <noreply@github.com>
2021-09-04 04:11:09 +00:00
Harsh Shandilya
f00a53c29b
Bump dependencies for Kotlin 1.5.30 (#1497) 2021-09-03 17:49:05 +05:30
Yash Garg
3c8b700f7e
Fix auto-focus issue on Dialogs with TextInputFields (#1492) 2021-08-27 20:12:29 +00:00
Harsh Shandilya
8c56a1d7b8
Update AndroidX deps (#1491) 2021-08-24 16:03:29 +00:00
Harsh Shandilya
1738364d2f
Make password generator parameter changes reactive (#1480)
* Make XkPassword generator reactive

* Handle empty strings

* Make password generator reactive

* Sync changelog for 1.13.5 release

* Add to changelog
2021-08-08 13:06:26 +05:30
Harsh Shandilya
6004addf62
Upgrade Compose and other AndroidX libraries (#1477)
* app: re-enable Compose

* app: remove inapplicable lint suppression

* gradle: bump AndroidX dependencies
2021-08-05 02:11:31 +05:30
Harsh Shandilya
403bb383b5
Upgrade to AGP 7.0.0 (#1474) 2021-07-29 09:54:31 +00:00
Harsh Shandilya
392ad847bf
Cleanup and fix CI tests (#1464) 2021-07-19 16:31:37 +05:30
Harsh Shandilya
921e9f96b9
Refactor TOTP implementation and expand SteamGuard hacks (#1460)
* UriTotpFinder: commonize query parameter handling

* gitignore: add more IDEA files

* TotpFinder: add `findIssuer`

* PasswordEntry: don't eagerly fetch TOTP related fields

* format-common: expand SteamGuard workaround

* CHANGELOG: add SteamGuard workaround
2021-07-17 03:13:16 +05:30
Harsh Shandilya
fd6d0e52fc
Upgrade dependencies and temporarily disable Compose (#1457) 2021-07-15 06:44:05 +00:00
Harsh Shandilya
6e4ffe2902
Add initial implementation of Gopenpgp-backed PGP (#1441) 2021-07-11 17:22:26 +00:00
github-actions[bot]
262d7c4a86
Sync localisations from Crowdin (#1445)
Co-authored-by: GitHub Actions <noreply@github.com>
2021-06-26 04:53:55 +00:00
Harsh Shandilya
29041cf561
Misc updates (#1440) 2021-06-20 12:00:55 +05:30
Harsh Shandilya
7bbdfcf6f6
Remove LeakCanary from snapshot builds (#1435) 2021-06-07 17:18:17 +00:00
Harsh Shandilya
fbb4dafc1c
gradle: update AndroidX dependencies (#1430)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-06-04 11:30:30 +05:30
Harsh Shandilya
f769968bdc
Fix 'View generated SSH key' option showing when not applicable (#1426)
* RepositorySettings: only show preference when available

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

* RepositorySettings: update 'View generated SSH key' preference after generating

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-31 11:47:35 +05:30
Harsh Shandilya
7f7c0e7cb1
app: replace getEncryptedProxyPrefs with injection
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30 11:43:57 +05:30
Harsh Shandilya
5e9a91a3b8
app: replace some uses of getEncryptedGitPrefs
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30 11:43:54 +05:30
Harsh Shandilya
434329268a
BasePgpActivity: inject settings through Hilt
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30 02:29:43 +05:30
Harsh Shandilya
0027710465
app: use unsafeLazy everywhere
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30 02:21:00 +05:30
Harsh Shandilya
6388bc7ac9
extensions: add unsafeLazy
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-30 02:20:58 +05:30
Harsh Shandilya
3f20678d79
autofill-parser: remove Bromite from supported browsers (#1423)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-26 21:03:08 +05:30
Aditya Wasan
373a46f73a
Add compose dependencies (#1421)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-25 09:45:26 +00:00
Harsh Shandilya
6f453cc27c
app: use PasswordEntry#extraContentString for editing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-23 18:21:41 +05:30
Harsh Shandilya
790b7c94d3
Tweak git server config screen UI and remove unused resources (#1419)
* themes: tweak Chip text appearance

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

* app: tweak git server settings UI

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

* app: remove unused resources

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-23 14:04:01 +05:30
Harsh Shandilya
f2ad7e489f
lint: one bug fixed and another takes its place
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-22 22:16:52 +05:30
Harsh Shandilya
50b481f304
app: cleanup PasswordRepository
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-22 20:35:10 +05:30
Harsh Shandilya
f66652cbc6
Tweak documentation and drop unused import
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-22 20:14:21 +05:30
Aditya Wasan
a2741cd871
docs: Document qualifiers
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:56 +05:30
Aditya Wasan
1583c4c600
app: lazily initialize hiltEntryPoint to make sure that activity is available before we use appContext
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:55 +05:30
Aditya Wasan
1ae961e51c
test: remove context parameter
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:54 +05:30
Aditya Wasan
521f4772d7
spotless: fix formatting
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:54 +05:30
Aditya Wasan
d45bb753cf
test: update MigrationsTest to run on JVM
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:53 +05:30
Aditya Wasan
c3f8de99be
app: refactor GitSettings and ProxyUtils and inject them using hilt
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 20:05:53 +05:30
Aditya Wasan
47099c723b
di: add context and preferences module
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-22 17:24:49 +05:30
SphericalKat
9fcbde2f07
chore(format): format code using spotless
Signed-off-by: SphericalKat <amolele@gmail.com>
2021-05-22 13:41:51 +05:30
SphericalKat
49d8183917
fix(tests): return null/default values from faked android sdk
fixes behaviour of getFilesDir

Signed-off-by: SphericalKat <amolele@gmail.com>
2021-05-17 14:45:34 +05:30
SphericalKat
bd09190786
refactor(extension): remove PreferenceManager dependency for getting preferences
should help when using faked SharedPreferences

Signed-off-by: SphericalKat <amolele@gmail.com>
2021-05-17 14:21:53 +05:30
SphericalKat
f377510afb
chore(build): add mock shared preference dependency
Signed-off-by: SphericalKat <amolele@gmail.com>
2021-05-17 14:19:02 +05:30
Harsh Shandilya
285bf9d929
Move file reads in RV adapters to a background dispatcher
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-15 15:48:05 +05:30
Harsh Shandilya
7e2eb2425e
all: reformat with Spotless again
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-15 15:40:20 +05:30
Harsh Shandilya
859dc008bc
Upgrade Gradle and androidx.annotation (#1407) 2021-05-12 16:11:32 +05:30
Aditya Wasan
e6e52b3594
Show current copy timeout in settings (#1404)
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-05-11 20:04:12 +00:00
Harsh Shandilya
a57c013619
app: update GpgIdentifier tests
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-02 11:33:21 +05:30
Harsh Shandilya
905e45c50a
strings: sync with crowdin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-02 06:34:59 +05:30
Harsh Shandilya
f834c754e6
Refactor openpgp-ktx to leverage coroutines (#1398)
* openpgp-ktx: leverage coroutines for async IPC

* Unwind nested dispatchers

* Fix name shadowing warning

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-30 23:22:01 +05:30
Harsh Shandilya
4880e1db27
Upgrade to Kotlin 1.5 (#1397)
* build: upgrade Kotlin to 1.5.0 and Hilt to 2.35.1

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

* all: address kotlin.time.seconds deprecation

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

* autofill-parser/openpgp-ktx: require Kotlin 1.5

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

* all: address string method deprecations

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

* build: disable NewApi lint

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-28 10:27:14 +05:30
Harsh Shandilya
d3bc28c1c3
Do not ASCII armor files when encrypting (#1396) 2021-04-25 09:17:40 +00:00
Harsh Shandilya
a5b6dfc106
Support creating pinned shortcuts directly (#1393)
* CHANGELOG: update for pinning support

* PasswordFragment: support pinning

* PasswordStore: use `PasswordItem#createAuthEnabledIntent`

* PasswordItem: add `createAuthEnabledIntent` API

* DecryptActivity: remove last changed time

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-21 18:10:19 +05:30
Harsh Shandilya
6ff01f5e1e
Refactor app shortcut handling (#1392) 2021-04-21 18:07:35 +05:30
Harsh Shandilya
53c3431ef0
Enable StrictMode in debug logging builds (#1391)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-21 08:06:47 +00:00
Harsh Shandilya
213778122c
Migrate some tests to Robolectric (#1389)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-19 17:13:12 +05:30
Harsh Shandilya
7710ca9024
Remove hand-rolled CoroutineScope and fix inverted conditions (#1386) 2021-04-18 08:45:45 +00:00
Harsh Shandilya
a3ebcfcc62
app: switch to format-common's PasswordEntry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-18 04:22:52 +05:30
Harsh Shandilya
a0fdd6ddc3
app: configure Hilt and desugaring
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-18 04:03:17 +05:30
Harsh Shandilya
cfbdb5f92a
Update to Gradle 7.0 (#1381) 2021-04-12 12:08:06 +00:00
Harsh Shandilya
af9f1fc374
Sync localisations from Crowdin (#1379)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-10 11:26:10 +05:30
Harsh Shandilya
023f03a227
Declare and check for camera features (#1375)
* app: set feature requirements

* Don't offer QR import option if no camera is present

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-08 04:21:53 +05:30
Harsh Shandilya
e13a54f212
Refactor biometric preference handling (#1374)
Fixes #1371

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-07 13:53:21 +00:00
Amogh Lele
7acbf0eda8
Switch to sublime text's fuzzy matching (#1372)
* refactor(search): use sublime text's fuzzy matching algorithm

Signed-off-by: SphericalKat <amolele@gmail.com>

* chore(changelog): update

Signed-off-by: SphericalKat <amolele@gmail.com>

* build: fetch sublime-fuzzy from Maven Central

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

* chore(changelog): update

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-07 11:02:41 +05:30
Harsh Shandilya
cf5f0eae3a
Actively discourage use of git protocol (#1368) 2021-04-03 19:51:34 +00:00
schiermi
62b514cae4
Minor adjustment of german translation. (#1362)
"Shop" sounds strange, especially in Autofill.
2021-03-30 09:16:55 +05:30
Harsh Shandilya
f5450eb5fd
DecryptActivity: use correct TOTP period (#1359)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-26 22:51:48 +05:30
Fabian Meumertzheim
44d27333a7
Do not cancel keygen biometric prompt on failure (#1357)
Biometric authentication may very well fail a few times due to e.g.
using the wrong finger, but that should not cancel the key generation
flow. The BiometricAuthenticator UI gracefully handles the error case
for us with an informative message.

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-21 08:44:37 +00:00
Harsh Shandilya
db4683e0d6
Inform users that GPG key selection is mandatory (#1355)
* Inform users that GPG key selection is mandatory

Fixes #1342

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

* changelog: sync for 1.13.4 release

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

* changelog: add GPG key selection improvements

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-21 14:03:51 +05:30
Harsh Shandilya
df17d6140b
Fix launcher shortcut icon rendering
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-20 17:32:53 +05:30
Harsh Shandilya
940cdd9750
app: remove lingering resource directory
The mapping was fixed on Crowdin but this wasn't deleted manually resulting in build failures

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-20 17:17:06 +05:30
Harsh Shandilya
42672b599b
strings: sync with crowdin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-20 14:58:18 +05:30
Harsh Shandilya
7f757bed81 app: fix nonFree resources
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-20 12:35:17 +05:30
Harsh Shandilya
91fce4dce7
all: format XML files to 2 space indent
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18 11:40:30 +05:30
Harsh Shandilya
774fda83ac
all: reformat with ktfmt
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18 11:40:30 +05:30
Harsh Shandilya
be31ae37f4
all: update copyrights
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18 11:26:48 +05:30
Harsh Shandilya
197af98bb5
Append trailing newline to .gpg-id during creation (#1344) 2021-03-13 03:05:03 +05:30
Aditya Wasan
d17ff0d925
Parse extra content into key value pairs (#1321)
* ui: add skeleton recyclerview to parse extra content

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* ui: add recyclerview and update PasswordEntry to create map of key-value pairs

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* password-entry: When key-value pair is not correctly formed, display it as Extra Content

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Fix formatting

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* bug: update otp code on main thread

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Add complete string if key-value pair cannot be formed

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* test: add a few tests for key-value parsing logic

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* prefs: remove SHOW_EXTRA_CONTENT from shared preferences

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Update CHANGELOG.md

* Cleanup and refactor

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

* PasswordEntryTest: silence nullability warning

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

* PasswordEntry: simplify constructor

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

* PasswordEntry: annotate test-enablement visibility

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

* Reintroduce the catch-all field

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

* update parsing logic

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* add one more test case

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Add missing newlines

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

* Remove unnecessary scrollview

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

* rv: do not return if hasExtraContent is false

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* Don't anchor RV to bottom

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-19 08:27:57 +00:00
Harsh Shandilya
92ece7dbb5
Implement manual TOTP import and cleanup password generators (#1320) 2021-02-18 12:17:03 +05:30
Harsh Shandilya
051d455c9f
Add tests for GPG identifier parsing (#1319) 2021-02-15 13:05:09 +05:30
Harsh Shandilya
7fbe4be711
Update to SSHJ 0.31.0 (#1314)
Co-authored-by: Fabian Henneke <fabian@hen.ne.ke>
2021-02-10 13:00:30 +05:30
Harsh Shandilya
ea24056554
Redo authentication modes UI with Chips (#1297) 2021-02-07 12:49:00 +05:30
Harsh Shandilya
318aeae500
Rework clear clipboard feature (#1295)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-03 01:25:34 +05:30
Harsh Shandilya
4694c5ac85
Fix app shortcuts not updating (#1292) 2021-01-31 13:45:14 +05:30
Harsh Shandilya
1f8db46ade
Disallow overwriting passwords when editing (#1286)
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-01-27 11:12:23 +05:30
github-actions[bot]
94420210f9
strings: sync with crowdin (#1284) 2021-01-23 02:54:51 +00:00
Harsh Shandilya
33d3683ae2
Codestyle churn (#1283)
* editorconfig: delete

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

* idea: adjust codestyle

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

* all: reformat with simplified import ordering rules

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-22 22:58:09 +05:30
Harsh Shandilya
3a2cfd22e6
Migrate versioning to Gradle plugin and automate version bumps (#1282) 2021-01-20 20:27:04 +05:30
Harsh Shandilya
1e9e5686af
Allow configuring pull behaviour (#1276) 2021-01-12 21:42:53 +05:30
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
91e00d897f
app: cleanup how we handle menu item presses (#1275)
Fixes #1274

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-08 19:43:52 +05:30
Aditya Wasan
534269c8fc
Fix auth modes not displaying properly (#1271)
* res: fix auth modes not displaying properly

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* res: wrap onboarding flow screens inside ScrollView

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2021-01-08 03:38:45 +05:30
Fabian Meumertzheim
0943015416
Show less obvious Autofill actions first (#1268)
Show Generate and Fill SMS OTP Autofill actions before the more
uninteresting (and expected) Search action.
2021-01-03 21:00:30 +05:30
Harsh Shandilya
fa2279791f
Revert "Refactor GitCommandExecutor (#1255)" (#1267)
This breaks propagation of errors to the UI layer

This reverts commit c34d08b094.
2021-01-01 23:03:13 +05:30
Harsh Shandilya
1a774eae23
Automate Crowdin localisation sync (#1265)
* build: add a Gradle plugin for Crowdin

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

* build/crowdin: add skipCleanup extension property

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

* build/crowdin: also handle nonFree source set

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

* build/crowdin: fixup directory names for nonFree variant

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

* app: sync translations from Crowdin

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

* github: add Crowdin sync workflow

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-30 11:06:51 +01:00
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
Harsh Shandilya
c34d08b094
Refactor GitCommandExecutor (#1255)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-20 05:52:30 -08:00
Harsh Shandilya
0396bf92a9
Transform broken repo error message to be more helpful (#1251) 2020-12-17 23:38:31 +05:30
Harsh Shandilya
ce2e657108
Better guidance for users to deal with host key changes (#1242)
* Provide actionable guidance for host key mismatches

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

* Update changelog

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

* Hide host key clear button after use

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-10 22:47:18 +05:30
Harsh Shandilya
c02ad427be
Try to fix missing .gpg-id files as well (#1246) 2020-12-10 21:06:45 +05:30
Fabian Meumertzheim
2e43d77c5c
Mark Chrome Canary as non-flaky and allowing save (#1237)
* Mark Chrome Canary as non-flaky and allowing save

* autofill-parser: update API dump

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

* autofill-parser: bump snapshot version

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-07 08:48:16 +01:00
Harsh Shandilya
5e66d99c85
Refactor package structure (#1233)
* 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-05 06:07:18 +05:30
Harsh Shandilya
6a6201f2ed
Dependency updates (#1229) 2020-12-03 22:02:01 +05:30
Harsh Shandilya
77e77be999
Set 10 second timeout on JGit transport commands (#1230)
* 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-03 12:22:22 +01:00
Aditya Wasan
993b203676
Use countdown chronometer on API 24 and above (#1228)
* 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-02 09:11:42 +05:30
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
61b5285e4e
build: use vendored openpgp-ktx
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-29 17:51:16 +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
Harsh Shandilya
d3c1a73050
build: refactor for configuration cache compatibility (#1208)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-15 09:34:14 +01:00
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
260145ce16
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-22 17:36:45 +05:30
Harsh Shandilya
9c5d96389c
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-22 17:29:48 +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
a025ecf073
Merge branch 'release' into develop
* release:
  build: bump version
  CHANGELOG: add entries for #1142 and #1131
  Temporarily work around SSHJ compatibility issues (#1142)
  all: refactor ActivityResultContracts usages to adhere to API requirements

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:59:07 +05:30
Harsh Shandilya
38fc3c743b
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:54:26 +05:30
Fabian Henneke
6139693d4f
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.

(cherry picked from commit 0d2788ab54)
2020-10-13 12:05:54 +05:30
Harsh Shandilya
c70c1792f6
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>
(cherry picked from commit cf03c55478)
2020-10-13 12:03:49 +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
880806b448
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 22:12:20 +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
8355db86f5
Prepare release 1.12.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-24 15:00:06 +05:30
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
7a3274b06d
gradle: update properties list for build improvements
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 22:43:31 +05:30
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