summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-02-11tunnel: sign using gpg-agentJason A. Donenfeld
This way we don't have to have a separate java universe. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-02-11tunnel: switch publishing to MavenCentralHarsh Shandilya
Since MavenCentral requires GPG signed artifacts, we'll need to configure some things on the machine running the deployment. Specifically, these three Gradle properties need to be set (preferably in ~/.gradle/gradle.properties) ``` signing.keyId= // Duh signing.password= // I have absolutely no idea how this will work with HSMs signing.secretKeyRingFile= // $HOME/.gnupg/... you know the deal ``` The BINTRAY_USER and BINTRAY_KEY variables are replaced by SONATYPE_USER and SONATYPE_PASSWORD to better reflect their new contents. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-10build: include org.jetbrains.trove4j from jcenterL.W.Reek
mavenCentral does not have org.jetbrains.trove4j which causes the build to fail. * What went wrong: Execution failed for task ':tunnel:extractReleaseAnnotations'. > Could not resolve all files for configuration ':tunnel:lintClassPath'. > Could not find org.jetbrains.trove4j:trove4j:20160824. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/jetbrains/trove4j/ trove4j/20160824/trove4j-20160824.pom - https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/ trove4j/20160824/trove4j-20160824.pom Required by: project :tunnel > com.android.tools.lint:lint-gradle:27.1.1 > com.android.tools:sdk-common:27.1.1 project :tunnel > com.android.tools.lint:lint-gradle:27.1.1 > com.android.tools.external.com-intellij:intellij-core:27.1.1 Fixes: 13cc4436ca22 ("build: switch to mavenCentral as the main repository") Signed-off-by: L.W.Reek <syphyr@gmail.com> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-05build: upgrade to Gradle 6.8.2Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-05build: switch to mavenCentral as the main repositoryHarsh Shandilya
Retain JCenter but restrict it the single dependency we require off it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-03build: update fragment to 1.3.0-rc02Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-27tunnel: bump libwg-go and use newer logging functionJason A. Donenfeld
We also plug a memory leak. C.CString was calling malloc, and these were never freed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-01-23strings: sync translationsHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-23libwg-go: update to go 1.15.6L.W.Reek
Signed-off-by: L.W.Reek <syphyr@gmail.com>
2021-01-23build: upgrade runtime dependenciesHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-23gradle: bump wrapper to v6.8.1Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-01ClipboardUtils: localize clipboard notification snackJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-24version: bumpJason A. Donenfeld
A Christmas eve special. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-23tunnel: bump libwg-goJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-21strings: sync with crowdinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-17build: upgrade to MDC 1.3.0-beta01Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-16version: bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-16tunnel: bump libwg-goJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-16build: downgrade Jetpack Datastore to 1.0.0-alpha02Harsh Shandilya
We're hitting occasional build failures with the newer versions that have not been triaged yet Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-16build: upgrade AGP, Kotlin, core-ktx and mdc-androidHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-16build: upgrade activity and fragment to latest betasHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-03build: upgrade datastore dependencyHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-30build: upgrade dependenciesHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-16ui: show all apps with internet permission in exclusions listHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-10ui: test for any camera, not just rear oneJason A. Donenfeld
Some folks use chromebooks, which don't have rear cameras. Reported-by: Jay Tuley <jay.tuley@ekonbenefits.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-09build: upgrade runtime dependenciesHarsh Shandilya
Updates ConstraintLayout, kotlinx.coroutines, Jetpack DataStore, JUnit and Lifecycle-Runtime-KTX Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-07strings: sync translationsHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-07build: add task to sync localisations with CrowdinHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-07build: switch to Gradle's maven-publish pluginHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-27ToolsInstaller: unbreak cleanupJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-26tunnel: do not constantly raise toasts when process is opportunistically killedJason A. Donenfeld
Modern Android likes to kill processes to free ram and resources. When kernel-mode WireGuard is in use, this is quite alright with us, since the app doesn't actually need to consume any resources at all in order for the tunnel to run. So, we want to allow and encourage this resource frugality. However, when the quick settings tile is being used or when the app is referenced otherwise, the app will occasionally be restarted, to, for example, repaint the quick settings tile. This is also fine, as the process winds up being short-lived again. But, since process initialization means asking for a new root shell in order to check on kernel-mode WireGuard, this means that Magisk raises a systemwide toast. On some phones, this happens each and every time that the notification shade is pulled down. It's not only annoying but it sometimes obscures other notifications that users want to see, prompting their pulling down of the notification shade in the first place. In order to get rid of this nuisance, just disable these notifications and extraneous logs, so that we don't clutter the system every time that the process is opportunistically killed and restarted. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-20tunnel: clean up some docstring wordingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-15build: upgrade to Gradle 6.7Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-14build: add crowdin syncer script and use itJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-13build: update to AGP 4.1.0Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08README: mention desugaringJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-07build: update AGP and ConstraintLayoutHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-07tunnel: use more subtle roaming escape hatchJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-05build: update to mdc 1.3.0-alpha03Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-02DownloadsFileSaver: initialize callback in constructor, not on the flyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-02build: upgrade AndroidX biometricJason A. Donenfeld
The BiometricConstants class was removed and these were folded into BiometricPrompt. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-02build: update AndroidX activity/fragments and resolve compile failureHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-30ui: use commit extension from fragment-ktxHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-30ui: account for binding disappearing on detail fragmentJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-27version: bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-27tv: hack gridlayoutmanager to fill columns before row if we're not scrollingJason A. Donenfeld
If we're horizontally scrolling, it makes sense to fill rows before columns. But if it all fits in one page and we don't need to scroll horizontally, it looks ridiculous. So, in this case, rearrange the tiles so that it appears to fill columns before rows. But we don't want things suddenly jumping around, so actually, keep the same ordering as rows-before-columns, but add invisible spaces after certain items, so that the fill area makes it look as though it's columns-before-rows. This winds up being much more visually pleasing. We do this by figuring out this kind of transformation: If we convert this matrix: 0 3 6 1 4 _ 2 5 _ To this one: 0 2 4 6 1 3 5 _ _ _ _ _ For a given index, how many spaces are under it? This changes depending on how many total are in a grid. Going from 3x3 to 4x3, for example, we have: count == 12, index = count == 11, index = 10 count == 10, index = 7,9 count == 9, index = 4,6,8 count == 8, index = 1,3,5,7 count == 7, index = 1,3,5,6! count == 6, index = 1,3,4!,5! count == 5, index = 1,2!,3!,4! count == 4, index = 0!,1!,2!,3! count == 3, index = 0!,1!,2! count == 2, index = 0!,1! count == 1, index = 0! count == 0, index = The '!' means two blanks below, no '!' means one blank below, and no mention means no blanks below. This commit adds code to compute such a table on the fly. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-26ui: queue up tunnel mutating on activity scope instead of fragment scopeJason A. Donenfeld
Fragment scopes get cancelled when the fragment goes away, but we don't actually want to cancel an in-flight transition in that case. Also, before when the fragment would cancel, there'd be an exception, and the exception handler would call Fragment::getString, which in turn called requireContext, which caused an exception. Work around this by using the `activity ?: Application.get()` idiom to always have a context for strings and toasts. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-26ui: print proper exception trace from log viewerJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-26ui: request intent permissions from hidden activityJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-09-24version: bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>