Commit Graph
100 Commits
Author SHA1 Message Date
Jason A. Donenfeld 1310a513d8 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-23 04:19:29 +02:00
Jason A. Donenfeld 90395232b0 TvMainActivity: link to cx file explorer
Google requires us to link to a specific file manager. We can't just
open the app store. They keep rejecting the app otherwise. Annoying.

Also, due to Android TV bugs, we also can't link to a prefilled search
query of "file manager". Instead we must link to an actual file manager.

Unfortunately, none of the open source file manager apps both support
the TV interface and can act as a file chooser. So instead we pick what
looks like the only decent one that doesn't have any in app purchases.
Ugh. I don't like doing this. It's not an endorsement. I don't know much
about who makes these. But what choice do we have?

So doing this for now. Maybe we'll find some better solution or apply to
be a file manager ourselves in the future.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-23 04:16:41 +02:00
Jason A. Donenfeld b9969891b8 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-22 01:46:37 +02:00
Jason A. Donenfeld 559112998f tools: bump to wireguard-go 0.0.20250522 for major regression
Things were broken on kernels [4.19, 5.12).

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-22 01:46:10 +02:00
Jason A. Donenfeld e12e658408 DonatePreferences: use toUri() extension
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-21 01:48:42 +02:00
Jason A. Donenfeld a57ca57e6c tools: align to 16k
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-21 01:46:01 +02:00
Jason A. Donenfeld f3f30030b9 tools: bump wireguard-tools to 1.0.20250521
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-21 01:35:38 +02:00
Jason A. Donenfeld c417bb8d7c version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 18:14:43 +02:00
Jason A. Donenfeld 567fd6ae96 gradle: update to agp 8.10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 18:11:00 +02:00
Jason A. Donenfeld 2c223fb68c MainActivity: don't reuse id names across layouts
This causes problems on foldables.

Reported-by: Josh Dague <josh3736@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 17:57:39 +02:00
Jason A. Donenfeld 0ea6cee192 global: add missing xml copyright and opening tag
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 17:40:03 +02:00
Jason A. Donenfeld 0295abd808 global: update copyright notices
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 17:31:02 +02:00
Jason A. Donenfeld 0350b801b6 TunnelCreatorActivity: use proper xml for layout
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-19 17:26:38 +02:00
Jason A. Donenfeld 4061003ef8 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-16 18:49:22 +02:00
Jason A. Donenfeld 3240bd13a8 gradle: update agp to 8.9.3
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-16 18:49:04 +02:00
Jason A. Donenfeld 720079bdf9 TunnelToggleActivity: suppress errors from prepare() in lockdown mode
Exception java.lang.IllegalStateException: Unavailable in lockdown mode
  at android.os.Parcel.createExceptionOrNull (Parcel.java:3031)
  at android.os.Parcel.createException (Parcel.java:3007)
  at android.os.Parcel.readException (Parcel.java:2990)
  at android.os.Parcel.readException (Parcel.java:2932)
  at android.net.IVpnManager$Stub$Proxy.prepareVpn (IVpnManager.java:1064)
  at android.net.VpnService.prepare (VpnService.java:290)
  at com.wireguard.android.activity.TunnelToggleActivity$onCreate$1.invokeSuspend (TunnelToggleActivity.kt:44)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:8)
  at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith (DispatchedContinuation.kt:155)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable (Cancellable.kt:12)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default (Cancellable.kt:12)
  at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.java:80)
  at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:80)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch (BuildersKt__Builders_common.kt:52)
  at kotlinx.coroutines.BuildersKt.launch (Builders.kt:52)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default (BuildersKt__Builders_common.kt:52)
  at kotlinx.coroutines.BuildersKt.launch$default (Builders.kt:52)
  at com.wireguard.android.activity.TunnelToggleActivity.onCreate (TunnelToggleActivity.kt:14)
  at android.app.Activity.performCreate (Activity.java:8591)
  at android.app.Activity.performCreate (Activity.java:8570)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1384)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4150)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:4325)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:101)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2574)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8762)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-16 18:45:19 +02:00
Jason A. Donenfeld aa68b5152e ui: set fitsSystemWindows=true for EdgeToEdge on API 35+
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-16 18:41:56 +02:00
Jason A. Donenfeld 67db72ac40 TvMainActivity: use OpenDocument instead of GetContent
This should make it possible to open files on Android TV 14.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-16 18:41:56 +02:00
Jason A. Donenfeld 452a339b37 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-15 17:21:52 +02:00
Jason A. Donenfeld 7c743534a5 ui: sync translations
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-15 17:20:31 +02:00
Jason A. Donenfeld 4df25dd567 build: crowdin now requires auth
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-15 17:20:08 +02:00
Jason A. Donenfeld 4510fa7482 tools: bump wireguard-go version to latest release
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-15 16:55:19 +02:00
Jason A. Donenfeld 6aab7cccf9 LogViewerActivity: cast array to Any type instead of using union inference
Type argument for reified type parameter 'T' was inferred to the
intersection of ['Comparable<*>' & 'Serializable']. Reification of an
intersection type results in the common supertype being used. This may
lead to subtle issues and an explicit type argument is encouraged. This
will become an error in a future release.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld e7d9beaef8 tools: bump go version
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld bd0967e36e SettingsActivity: manually apply insets for api 35
The forced EdgeToEdge changes don't work well with
PreferenceFragmentCompat, because it's basically abandoned by androidx,
so apply the insets manually ourselves.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld de2338a470 SettingsActivity: remove unused imports
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld c9353a89d4 gradle: remove experimental options now on by default
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld fb115b4079 gradle: use = instead of .set
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld 0740e86cb2 gradle: bump deps
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-08 04:59:37 +02:00
Jason A. Donenfeld 9c0bafad17 gradle: update kotlin to 2.1.20
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-05 16:09:58 +02:00
Jason A. Donenfeld d7242288bb gradle: target API 36
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-05 16:09:58 +02:00
Jason A. Donenfeld 3e1bf5f9e9 tools: bump wg-go
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-05 15:44:24 +02:00
Jason A. Donenfeld 55d6ad6c95 gradle: update to agp 8.9.2 and gradle 8.14
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2025-05-05 15:44:24 +02:00
Jason A. Donenfeld 0a8de709b6 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:45 +02:00
Jason A. Donenfeld 83c382b6cc tools: bump go
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld 9453b6c0e2 ui: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld 8390553850 QuickTileService: require SYSTEM_ALERT_WINDOW to start background activity
Due to buggy changes in Android 14, we now need to bother the user about
enabling "draw over other apps" for the quick settings toggle to work
when the app isn't already running.

Link: https://issuetracker.google.com/issues/305035828
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld db7f70736f gradle: bump many deps
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-13 21:32:16 +02:00
Jason A. Donenfeld d4c8f1dfdd gradle: update to agp 8.2.0-beta06
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-13 21:24:42 +02:00
Jason A. Donenfeld 04e503c9db version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 05:06:04 +02:00
Jason A. Donenfeld 434534ac59 ui: hide corrupted message if no installer
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 05:06:04 +02:00
Jason A. Donenfeld 0f77af85d3 ui: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 04:24:14 +02:00
Jason A. Donenfeld 58789d6372 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-06 19:05:55 +02:00
Jason A. Donenfeld adefd16f7e ui: remove unused elvis operators
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-06 19:05:52 +02:00
Jason A. Donenfeld e4a49a5356 ui: use api 34's startActivityAndCollapse
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-06 19:05:52 +02:00
Jason A. Donenfeld 353679801e tunnel: use record class where possible
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-05 18:16:53 +02:00
Jason A. Donenfeld 58ec110360 gradle: remove unused import
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-05 17:59:01 +02:00
Jason A. Donenfeld a7ce5ad42a gradle: bump to api 34
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-05 16:13:19 +02:00
Jason A. Donenfeld 52c0d1ea29 gradle: update to agp 8.2.0-alpha10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-05 16:00:40 +02:00
Jason A. Donenfeld a5b4b9c428 tunnel: add quotes around calling package
Judging by the previous check, this was clearly intended.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-06-08 15:04:39 +02:00
Jason A. Donenfeld e744ce4569 gradle: update to agp 8.2.0-alpha07
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-06-08 15:03:05 +02:00
Jason A. Donenfeld adfd8e247b tunnel: account for recent magisk using UID in sql
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-06-06 03:08:59 +02:00
Jason A. Donenfeld e9243c403a version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:23:49 +02:00
Jason A. Donenfeld fbcbfbd311 strings: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld dc1d294a82 gradle: bump to core-ktx 1.10.1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld 2abd426cdc gradle: bump to agp 8.2.0-alpha05
I wanted to stay on 8.1 in hopes of landing on a stable channel, but
Google won't backport the RB fix, so we have to bump to 8.2 alphas.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld c536f5cc7f gradle: bump to agp 8.1.0-beta03
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld 37a892a2da gradle: sort extracted locales rather than generated XML
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld f2d166a6a4 ui: add basic double update guard
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld d883802178 ui: remove debug keys
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-26 16:19:52 +02:00
Jason A. Donenfeld 8d990be204 ui: add missing article to string
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-14 01:18:12 +02:00
Jason A. Donenfeld 5fa2e6164f version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-13 01:12:50 +02:00
Jason A. Donenfeld 9972d9607e gradle: sort lines in localeConfig
This works around https://issuetracker.google.com/issues/281825213

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-13 01:12:15 +02:00
Jason A. Donenfeld 6a72194106 ui: use modal corruption alert instead of snackbar
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-11 13:50:26 +02:00
Jason A. Donenfeld 254e6164d7 ui: use applicationScope helper when possible
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-11 02:57:38 +02:00
Jason A. Donenfeld 675386241b ui: cleanup quick tile and modernize
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-11 02:52:50 +02:00
Jason A. Donenfeld 8671acc1a6 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 20:55:56 +02:00
Jason A. Donenfeld fb08bb6bd4 strings: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 20:54:29 +02:00
Jason A. Donenfeld 70f8e5ab3a ui: add shortcut for adding quick settings tile
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 20:48:11 +02:00
Jason A. Donenfeld e53a8d76f9 gradle: hack around 8.1.0-beta02 api 21 outlining bug
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 19:56:08 +02:00
Jason A. Donenfeld e0b4551bca gradle: generate locales for per-app picking
Enable the per-app locale picking menu by adding the right metadata
automatically to the manifest with new AGP automation.

This attempts to follow:
https://developer.android.com/guide/topics/resources/app-languages#use-localeconfig

Using the new AGP feature:
https://developer.android.com/studio/preview/features#automatic-per-app-languages

It appears to work, and it also should squelch the "W AppCompatDelegate:
Checking for metadata for AppLocalesMetadataHolderService : " warnings
on old Android that syphyr pointed out.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 19:56:04 +02:00
Jason A. Donenfeld 7b9757bf3b gradle: bump to agp 8.1.0-beta02
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 19:56:00 +02:00
Jason A. Donenfeld 4156b83b84 ui: bifurcate only parts of release but nag about wrong context
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 19:10:53 +02:00
Jason A. Donenfeld f829b8abe0 gradle: exclude version meta files in release build
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-10 16:54:12 +02:00
Jason A. Donenfeld c3f6906309 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-08 16:10:40 +02:00
Jason A. Donenfeld 5cafd1ebe4 ui: use debug key in debug builds
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-08 14:00:09 +02:00
Jason A. Donenfeld 51991324a9 ui: only register contracts in constructors
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-08 13:31:33 +02:00
Jason A. Donenfeld 33a8a51962 gradle: restore play runtime detection
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-08 13:08:09 +02:00
Jason A. Donenfeld 40eaa54cf0 ui: reformat all code
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-05 13:18:30 +02:00
Jason A. Donenfeld a3bfa6f1ab ui: collect logs from IO thread only
Otherwise the pop() from the producer might causes an OOB read in the
consumer:

Exception java.lang.ArrayIndexOutOfBoundsException:
  at androidx.collection.CircularArray.get (CircularArray.java)
  at com.wireguard.android.activity.LogViewerActivity.rawLogBytes (LogViewerActivity.java)
  at com.wireguard.android.activity.LogViewerActivity.onCreate$lambda$3 (LogViewerActivity.java:133)
  at android.view.View.performClick (View.java:6935)
  at android.view.View$PerformClick.run (View.java:26214)
  at android.os.Handler.handleCallback (Handler.java:790)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:7000)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:441)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-05 02:56:51 +02:00
Jason A. Donenfeld 7778ff63b5 gradle: use matching fallback instead of build type
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-05 02:43:36 +02:00
Jason A. Donenfeld 79c5eb41c3 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-04 16:48:23 +02:00
Jason A. Donenfeld 9e30c7d2e9 strings: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 15:41:41 +02:00
Jason A. Donenfeld d80129ba46 gradle: use += when possible
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 15:37:06 +02:00
Jason A. Donenfeld 6907663f07 gradle: don't encourage sticking credentials in files
We've only ever used this via environment variables, so keep it that
way.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:19:19 +02:00
Jason A. Donenfeld dca96a52b4 gradle: reabstract package name
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:09:11 +02:00
Jason A. Donenfeld cf4fca8086 gradle: remove runtime detection of play store
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-04 16:45:01 +02:00
Jason A. Donenfeld 318f36a205 README: account for java version updates
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:23:54 +02:00
Jason A. Donenfeld 87aa73cc64 gradle: use newer desugaring
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:23:38 +02:00
Jason A. Donenfeld 4e28d57aee gradle: use Java 17
It appears to work, even on API 21.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:01:05 +02:00
Jason A. Donenfeld 8800f861ed ui: update cleanups
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-03 14:28:40 +02:00
Jason A. Donenfeld 99336f6552 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-02 17:59:44 +02:00
Jason A. Donenfeld 0b7b65296b gradle: downgrade wrapper to 8.0.1
This reverts commit 455fcc076becafdf21944aaf2c1f1e9086eb2fd9 because of
f-droid.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-05 12:56:10 +02:00
Jason A. Donenfeld e2f931b4cb ui: use .seconds instead of .toDuration
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-05 12:55:51 +02:00
Jason A. Donenfeld d6ad7d11d0 ui: handle update signatures
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-05-01 16:24:41 +02:00
Jason A. Donenfeld 914917036e version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-04-27 15:52:23 +02:00
Jason A. Donenfeld 6e9ca435ca gradle: trim experimental list
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-04-27 13:51:25 +02:00
Jason A. Donenfeld 0797e99559 proguard: cleanup unused parts
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-04-27 13:12:02 +02:00
Jason A. Donenfeld 0ba064ff48 build: bump activity-ktx and fragment-ktx
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-04-25 14:53:41 +02:00
Jason A. Donenfeld b4fe9efadb strings: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-04-13 18:49:36 +02:00