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>
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>
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>
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>
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>
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>
Rather than using the NDK compiler for the host arch and hoping it picks
up on system library locations, just use `cc` and rely on the
traditional symlink to resolve that to the default host compiler.
This should address build errors seen on macOS.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Doing so causes the process to restart when the activity is cleared,
even when no tunnel is running. I fear this might also lead to the
current flurry of DeadSystemExceptions.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>