android: omit excludedRoutes for API<33 (#582)

updates tailscale/corp#25083

excludedRoutes is only supported on API 33 and up so
it needs a version check.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
pull/583/head
Jonathan Nobels 1 year ago committed by GitHub
parent 4e9cceb073
commit 205aeaed86
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,10 +3,11 @@
package com.tailscale.ipn package com.tailscale.ipn
import android.net.IpPrefix as AndroidIpPrefix
import android.net.VpnService import android.net.VpnService
import libtailscale.ParcelFileDescriptor import android.os.Build
import java.net.InetAddress import java.net.InetAddress
import android.net.IpPrefix as AndroidIpPrefix import libtailscale.ParcelFileDescriptor
class VPNServiceBuilder(private val builder: VpnService.Builder) : libtailscale.VPNServiceBuilder { class VPNServiceBuilder(private val builder: VpnService.Builder) : libtailscale.VPNServiceBuilder {
override fun addAddress(p0: String, p1: Int) { override fun addAddress(p0: String, p1: Int) {
@ -22,9 +23,12 @@ class VPNServiceBuilder(private val builder: VpnService.Builder) : libtailscale.
} }
override fun excludeRoute(p0: String, p1: Int) { override fun excludeRoute(p0: String, p1: Int) {
val inetAddress = InetAddress.getByName(p0) // Only run this for API level 33 and up
val prefix = AndroidIpPrefix(inetAddress, p1) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
builder.excludeRoute(prefix) val inetAddress = InetAddress.getByName(p0)
val prefix = AndroidIpPrefix(inetAddress, p1)
builder.excludeRoute(prefix)
}
} }
override fun addSearchDomain(p0: String) { override fun addSearchDomain(p0: String) {
@ -40,8 +44,7 @@ class VPNServiceBuilder(private val builder: VpnService.Builder) : libtailscale.
} }
} }
class ParcelFileDescriptor(private val fd: android.os.ParcelFileDescriptor) : class ParcelFileDescriptor(private val fd: android.os.ParcelFileDescriptor) : ParcelFileDescriptor {
libtailscale.ParcelFileDescriptor {
override fun detach(): Int { override fun detach(): Int {
return fd.detachFd() return fd.detachFd()
} }

Loading…
Cancel
Save