diff options
Diffstat (limited to 'android/lib/endpoint/src')
6 files changed, 57 insertions, 0 deletions
diff --git a/android/lib/endpoint/src/debug/kotlin/net/mullvad/mullvadvpn/lib/endpoint/CustomApiEndpointConfiguration.kt b/android/lib/endpoint/src/debug/kotlin/net/mullvad/mullvadvpn/lib/endpoint/CustomApiEndpointConfiguration.kt new file mode 100644 index 0000000000..b3a00c809c --- /dev/null +++ b/android/lib/endpoint/src/debug/kotlin/net/mullvad/mullvadvpn/lib/endpoint/CustomApiEndpointConfiguration.kt @@ -0,0 +1,10 @@ +package net.mullvad.mullvadvpn.lib.endpoint + +import kotlinx.parcelize.Parcelize + +@Parcelize +data class CustomApiEndpointConfiguration( + val apiEndpoint: ApiEndpoint +) : ApiEndpointConfiguration { + override fun apiEndpoint() = apiEndpoint +} diff --git a/android/lib/endpoint/src/main/AndroidManifest.xml b/android/lib/endpoint/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..cc947c5679 --- /dev/null +++ b/android/lib/endpoint/src/main/AndroidManifest.xml @@ -0,0 +1 @@ +<manifest /> diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpoint.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpoint.kt new file mode 100644 index 0000000000..7325e3f61b --- /dev/null +++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpoint.kt @@ -0,0 +1,13 @@ +package net.mullvad.mullvadvpn.lib.endpoint + +import android.os.Parcelable +import java.net.InetSocketAddress +import kotlinx.parcelize.Parcelize + +@Parcelize +data class ApiEndpoint( + val address: InetSocketAddress, + val disableAddressCache: Boolean, + val disableTls: Boolean, + val forceDirectConnection: Boolean +) : Parcelable diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointConfiguration.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointConfiguration.kt new file mode 100644 index 0000000000..164a9fffa7 --- /dev/null +++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointConfiguration.kt @@ -0,0 +1,7 @@ +package net.mullvad.mullvadvpn.lib.endpoint + +import android.os.Parcelable + +interface ApiEndpointConfiguration : Parcelable { + fun apiEndpoint(): ApiEndpoint? +} diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointIntentExtensions.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointIntentExtensions.kt new file mode 100644 index 0000000000..cf2f2fb0dd --- /dev/null +++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointIntentExtensions.kt @@ -0,0 +1,18 @@ +package net.mullvad.mullvadvpn.lib.endpoint + +import android.content.Intent +import android.os.Build + +private const val OVERRIDE_API_EXTRA_NAME = "override_api" + +fun Intent.putApiEndpointConfigurationExtra(apiEndpointConfiguration: ApiEndpointConfiguration) { + putExtra(OVERRIDE_API_EXTRA_NAME, apiEndpointConfiguration) +} + +fun Intent.getApiEndpointConfigurationExtras(): ApiEndpointConfiguration? { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + getParcelableExtra(OVERRIDE_API_EXTRA_NAME, ApiEndpointConfiguration::class.java) + } else { + getParcelableExtra(OVERRIDE_API_EXTRA_NAME) + } +} diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/DefaultApiEndpointConfiguration.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/DefaultApiEndpointConfiguration.kt new file mode 100644 index 0000000000..90b9bc7896 --- /dev/null +++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/DefaultApiEndpointConfiguration.kt @@ -0,0 +1,8 @@ +package net.mullvad.mullvadvpn.lib.endpoint + +import kotlinx.parcelize.Parcelize + +@Parcelize +class DefaultApiEndpointConfiguration : ApiEndpointConfiguration { + override fun apiEndpoint(): ApiEndpoint? = null +} |
