Harsh Shandilya
dcd91cad1b
ui: fix SDK 30 deprecation warning for implicit Looper in Handler init
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:03:49 +05:30
Harsh Shandilya
898bb679d2
ui: also enable StrictMode thread policy in debug builds
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:03:48 +05:30
Harsh Shandilya
348d430cd3
build: remove explicit buildToolsVersion
...
AGP sets it automatically, let's rely on that
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:49:11 +05:30
Harsh Shandilya
e3d98633fb
build: update AndroidX dependencies
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:43:25 +05:30
Harsh Shandilya
b451920408
build: uprev to Kotlin 1.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:43:14 +05:30
Harsh Shandilya
1fa15e76e3
build: minor cleanups and reorganization
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:42:51 +05:30
Harsh Shandilya
8a58270e03
build: uprev to Gradle 6.6
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-12 13:28:00 +05:30
Harsh Shandilya
041ce2134f
build: upgrade to Gradle 6.5.1
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-07-10 15:07:54 +05:30
Harsh Shandilya
4c17fc51e7
gitignore: add gradlew.bat
...
We do not support building on Windows for now and deleting this file on every wrapper update is just lame
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:36:31 +05:30
Harsh Shandilya
6cf7439053
gradle: upgrade to 6.5
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:36:30 +05:30
Harsh Shandilya
814ab4937d
build: bump core-ktx, coroutines and fragments
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:30:00 +05:30
Harsh Shandilya
d60efcd7c7
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-02 17:52:01 +05:30
Harsh Shandilya
4dff537d21
ui: address new databinding requirements
...
Layouts in differing configurations must agree on their root tags, so we give
both copies of main_activity the same root ID, and adjust the check for
two-pane layout to simply test for nullability. This also changes the inset
dispatch code to use ViewCompat and WindowInsetsCompat since they will adjust
insets based on the SDK level allowing us to abstract away that concern.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-29 12:25:52 +05:30
Harsh Shandilya
761c2ade4a
build: bump to AGP 4.0.0
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-29 12:05:24 +05:30
Harsh Shandilya
115a87af32
ui: remove unneeded actionBarPopupTheme attribute
...
This caused inconsistencies between our overflow icon and actionbar title's tint
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-09 15:49:43 +05:30
Harsh Shandilya
c7ecaeb145
build: upgrade to gradle 6.4 and track checksum
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-09 13:15:57 +05:30
Harsh Shandilya
3208bac987
build: upgrade to mdc-android 1.2.0-alpha06
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-30 18:21:31 +05:30
Harsh Shandilya
fc1f2132fe
build: bump gradle wrapper version in task configuration
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-27 14:09:37 +05:30
Harsh Shandilya
09125e1e31
libwg-go: bump go version
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-26 04:33:41 +05:30
Harsh Shandilya
6b1164ad8d
ui: switch up dark theme system bars colors
...
The status bar color had a subtle transparency applied which caused
inconsistencies, and the navigation bar color was the wrong shade of
gray.
Reported-by: Danny Lin <danny@kdrag0n.dev >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-26 04:30:26 +05:30
Harsh Shandilya
c68a5c776b
build: bump threetenabp to 1.2.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-24 19:32:36 +05:30
Harsh Shandilya
f3ac787f5a
ToolsInstaller: update Magisk directory
...
/data/adb/modules has been the location for modules since v18.0 and nobody
should reasonably be on any older version anymore. This has continued to
work for this long because Magisk created symlinks for backwards compat. However,
these symlinks are not created anymore on Android 11, which is where this
problem first surfaced.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-23 01:40:50 +05:30
Harsh Shandilya
751be2c469
build: don't obfuscate code in minify step
...
While Play Console correctly manages to deobfuscate stacktraces using the
ProGuard mapping, it makes user recorded logs useless which is rather
undesirable.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-21 21:36:59 +05:30
Harsh Shandilya
cfb7f1b016
ui: tweak fab animation duration
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:17:27 +05:30
Harsh Shandilya
33e07628db
build: remove unused cardview dependency
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:09:07 +05:30
Harsh Shandilya
b1b7d1d90c
build: upgrade AGP, Kotlin, and preference
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:08:41 +05:30
Harsh Shandilya
6cb9548f72
tunnel: disable LongLogTag lint
...
Should have been part of the patch that disabled this for ui/
Fixes: 8d128cf2e9 ("ui: disable LongLogTag lint")
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 01:59:51 +05:30
Harsh Shandilya
8207ae1e8d
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 01:48:50 +05:30
Harsh Shandilya
48e0e427eb
ui: animate fab scale rather than translation
...
Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-16 23:14:35 +05:30
Harsh Shandilya
58b14cc650
ui: animate fab position in tunnel deletion flow
...
When tunnel deletion is triggered we don't bother with animation theatrics
because the resulting Snackbar needs this fab to be its anchor, which it can't
do if its outside the screen or busy animating.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 19:43:25 +05:30
Harsh Shandilya
3fa8e09545
tunnel: disable BuildConfig generation
...
We don't (and shouldn't) use BuildConfig values, but the class was
polluting our public API regardless which is undesirable.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 17:05:31 +05:30
Harsh Shandilya
1856a50c56
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 03:37:01 +05:30
Harsh Shandilya
ba0f3ece04
ui: tweak FABs to use the correct type
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 03:34:07 +05:30
Harsh Shandilya
e8ad75d924
ui: codestyle nit
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-07 14:19:54 +05:30
Harsh Shandilya
d6e5fd9301
ui: tweak cards to make them nicer on the eyes
...
Surprisingly-requested-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 19:56:53 +05:30
Harsh Shandilya
2c625f56fd
ui: misc cleanups to AppListDialogFragment
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 19:56:46 +05:30
Harsh Shandilya
1ca4dbf1a2
tunnel: hold peers in an ArrayList
...
A set will cause identical peers to be dropped during save
Reported-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 01:22:44 +05:30
Harsh Shandilya
065893e31d
MultiselectableRelativeLayout: use JvmOverloads constructor
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 00:39:22 +05:30
Harsh Shandilya
ef70aa88e1
ui: fix scrolling in detail view
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 00:17:14 +05:30
Harsh Shandilya
6a11a199ca
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-04 16:19:21 +05:30
Harsh Shandilya and Jason A. Donenfeld
7d31bd2be9
build: update fragment to 1.2.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-01 22:05:24 -06:00
Harsh Shandilya
8d128cf2e9
ui: disable LongLogTag lint
...
We know what we're doing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-31 03:48:00 +05:30
Harsh Shandilya and Jason A. Donenfeld
44a0f53e58
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 14:08:24 -06:00
Harsh Shandilya and Jason A. Donenfeld
10e910186e
ui: update proguard rules to keep crash logs readable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 13:49:41 -06:00
Harsh Shandilya and Jason A. Donenfeld
d2721f2d7d
BiometricAuthenticator: implement biometric authentication for sensitive operations
...
When biometric hardware is available, it will be used to authenticate
the user before private keys are shown on screen or when zip exports
are executed.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 03:23:32 -06:00
Harsh Shandilya and Jason A. Donenfeld
3095e19e13
ObservableTunnel: Don't cache configAsync
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 03:23:32 -06:00
Harsh Shandilya
8a45e965eb
strings: Sync German translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 14:10:39 +05:30
Harsh Shandilya
183273dcf5
AddTunnelsSheet: Make behaviour nullable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 11:04:59 +05:30
Harsh Shandilya
b3bb7c694b
build: Improve R8 rules and enable aggressive optimization modes
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 10:52:54 +05:30
Harsh Shandilya and Jason A. Donenfeld
03a838ba2d
ui: Remove unnecessary non-null assertion in TAG fields
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 23:07:50 -06:00
Harsh Shandilya and Jason A. Donenfeld
b00aacbc41
Fix tunnel editor theming
...
Also set textInputStyle in the base theme to avoid setting styles to all elements
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 22:38:04 -06:00
Harsh Shandilya and Jason A. Donenfeld
fb3fec299f
TunnelEditor: replace tunnel detail view with ConstraintLayout implementation
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 15:22:11 -06:00
Harsh Shandilya and Jason A. Donenfeld
d2f435b265
ClipboardUtils: Update to handle TextInputEditText
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 15:22:06 -06:00
Harsh Shandilya
3a163acd6d
gradle: Remove useless comment
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:50:34 +05:30
Harsh Shandilya
df4bf9b688
Disable screen capture in tunnel editor
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:49:54 +05:30
Harsh Shandilya
0f67a2f194
Upgrade streamsupport dependency
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:21:53 +05:30
Harsh Shandilya
b9b188693c
strings: Sync from Crowdin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 02:55:21 +05:30
Harsh Shandilya
9fe008d407
ObservableTunnel: Don't recurse in getConfig
...
The correct way to retrieve the value inside a getter/setter is to use `field` to ensure
you don't invoke the getter while inside the getter and trigger a stack overflow
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 02:35:01 +05:30
Harsh Shandilya
536a6f3f83
ui: Replace ErrorMessages getter with indexing operator
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 15:38:04 +05:30
Harsh Shandilya
b9fd3d37f2
Convert ErrorMessages to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 15:38:04 +05:30
Harsh Shandilya and Jason A. Donenfeld
e0b87c3ff2
Convert AsyncWorker to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 03:09:24 -06:00
Harsh Shandilya and Jason A. Donenfeld
b2bbaf050c
util: Start converting to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-26 22:33:01 -06:00
Harsh Shandilya and Jason A. Donenfeld
63a395125a
Introduce realtime log viewer
...
This contains a share button and a save button, the former using a
custom content provider.
Co-authored-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2020-03-26 00:49:01 -06:00
Harsh Shandilya
1ad0ef3f61
LogExporterPreference: Don't ask for storage permissions on Android 10 and above
...
We use the proper MediaStore implementation on Android 10 which makes it unnecessary.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-25 21:02:02 +05:30
Harsh Shandilya
c1c285db86
Upgrade to Gradle 6.3
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-25 02:05:12 +05:30
Harsh Shandilya
93f80cdc50
Resolve manifest warnings
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-24 11:30:28 +05:30
Harsh Shandilya
383659fb8a
Upgrade to Kotlin 1.3.71
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-23 22:50:04 +05:30
Harsh Shandilya and Jason A. Donenfeld
55849cad65
Replace PermissionRequestCallback with direct methods
...
These are much cleaner in Kotlin code.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya and Jason A. Donenfeld
edb76af820
build: Load keystore file from rootProject
...
Since the signing config is also stored in the project root it makes sense to have storeFile
path be relative to it.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya and Jason A. Donenfeld
04d0b819f6
Convert activity package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya
0899b49bb3
Use more Kotlin-esque code where applicable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 14:45:07 +05:30
Harsh Shandilya
fc0660ca8d
ui: Convert fragment package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:48 +05:30
Harsh Shandilya
b2ed5dbbc8
codestyle: Require atleast 10 references before using star imports
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:48 +05:30
Harsh Shandilya
94c864503e
ui: Convert configStore package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:47 +05:30
Harsh Shandilya
55c9d39c13
strings: Remove now defunct translations
...
The original strings are removed.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-18 15:18:02 +05:30
Harsh Shandilya
2b31eac1af
publish.gradle: Use non-deprecated API to prevent eager configuration of tasks
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-14 10:44:52 +05:30
Harsh Shandilya
093139bc91
tunnel: Add an initial set of unit tests
...
Includes a control set of broken configuration files that we attempt to parse and
verify that the parser fails in a predictable and consistent manner.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-14 10:32:12 +05:30
Harsh Shandilya
6c8a4a6a28
tunnel: Remove MISSING_VALUE from BadConfigException reasons
...
This is covered under SYNTAX_ERROR which feels like a reasonable choice,
so get rid of this unused field and associated resource string.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-14 10:25:57 +05:30
Harsh Shandilya
8f85e4c88f
tunnel: Codestyle cleanups
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-10 13:20:16 +05:30
Harsh Shandilya
a3b9c3b884
ui: Codestyle cleanups
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-10 13:08:28 +05:30
Harsh Shandilya
021e16959f
Upgrade to Gradle 6.2.2
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-10 12:45:06 +05:30
Harsh Shandilya
37adab76e1
BaseFragment: Always anchor Snackbars to FAB
...
This makes tunnel list fragment correctly render them above the FAB.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-10 12:32:23 +05:30
Harsh Shandilya
0db233e5c7
Use dark system bars on API 21
...
Light system bars didn't come around until API 23.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 22:12:14 +05:30
Harsh Shandilya
7894894610
Use AndroidX Nullable annotation everywhere
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 19:24:27 +05:30
Harsh Shandilya
7d48bef70a
Rename app module to ui
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 19:24:27 +05:30
Harsh Shandilya
6bc3e257f8
Enable nonnull generation for tunnel module
...
Also cleanup nonnull.gradle while we're at it
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 19:24:26 +05:30
Harsh Shandilya
adc613d801
Migrate tunnel related classes to tunnel/ Gradle module
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 19:24:26 +05:30
Harsh Shandilya
3c2fa15dc2
Fix tablet mode crashes and UI inconsistencies
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 10:50:36 +05:30
Harsh Shandilya
e8c9c20570
MainActivity: Dispatch insets to all fragments
...
Fixes tunnel list fragment rendering behind statusbar when other fragments are showing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 10:32:48 +05:30
Harsh Shandilya
0db2578ca0
Switch to CoordinatorLayout for activity container
...
Snackbars use it to infer the right margins
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 10:32:03 +05:30
Harsh Shandilya
e71d6157f1
Add coordinatorlayout dependency and sort
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 10:20:14 +05:30
Harsh Shandilya
7ca2a0df18
global: Use requireContext rather than getContext in fragments
...
requireContext provides helpful error messages when it's null as opposed to getContext
which simply throws a NullPointerException.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-09 10:12:50 +05:30
Harsh Shandilya and Jason A. Donenfeld
0990430513
Upgrade AGP and Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-08 14:05:45 +08:00
Harsh Shandilya
6135a1f60a
MainActivity: Remove unused imports
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-28 13:25:28 +05:30
Harsh Shandilya
5e94adc73a
ModuleLoader: Staticize isModuleLoaded
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-28 13:16:31 +05:30
Harsh Shandilya
44fc0228a9
Upgrade to build tools 29.0.3
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-28 12:28:02 +05:30
Harsh Shandilya
4d2bfe3ef3
Resolve some lint and build warnings
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-26 20:26:49 +05:30
Harsh Shandilya
75b0fed00d
ThemeChangeAwareActivity: Remove drawable cache buster
...
Shouldn't be needed anymore.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-25 17:14:52 +05:30
Harsh Shandilya
927cc1fcf5
Make exclusions dialog fit more items in viewport
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-25 14:23:28 +05:30
Harsh Shandilya
b3090e277a
MainActivity: Fix backstack bug exposed by fragment 1.2.2
...
We've been relying on implicit backstack changes to handle removing the detail fragment for a while which is now gone so let's do this properly like we should
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-02-25 14:23:28 +05:30