summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-05-21 11:17:25 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-05-21 12:42:25 +0200
commit7e7d6734b1c53dcc26774aebca60e5c09201152b (patch)
tree61ea9b4516348eb12120d33d11b851473da9e88e /android
parentb708e86feb1235a6241cd12e1b8315cea19a12d5 (diff)
downloadmullvadvpn-7e7d6734b1c53dcc26774aebca60e5c09201152b.tar.xz
mullvadvpn-7e7d6734b1c53dcc26774aebca60e5c09201152b.zip
Supply IP address when using API override
Previously we did a DNS lookup for Stagemole and Devmole however, this causes problem when starting the app with no internet and is different from how the app performs in production mode. This commit removes that logic in order to align closer to what we expect in prod.
Diffstat (limited to 'android')
-rw-r--r--android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt1
-rw-r--r--android/service/build.gradle.kts3
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt2
-rw-r--r--android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt7
4 files changed, 11 insertions, 2 deletions
diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt
index 7350aa0d26..3c86b4427a 100644
--- a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt
+++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt
@@ -6,6 +6,7 @@ import kotlinx.parcelize.Parcelize
@Parcelize
data class ApiEndpointOverride(
val hostname: String,
+ val address: String,
val port: Int = CUSTOM_ENDPOINT_HTTPS_PORT,
val disableTls: Boolean = false,
val forceDirectConnection: Boolean = true,
diff --git a/android/service/build.gradle.kts b/android/service/build.gradle.kts
index 4fd794c765..004e7a9d7b 100644
--- a/android/service/build.gradle.kts
+++ b/android/service/build.gradle.kts
@@ -46,14 +46,17 @@ android {
isDefault = true
// Not used for production builds.
buildConfigField("String", "API_ENDPOINT", "\"\"")
+ buildConfigField("String", "API_IP", "\"\"")
}
create(Flavors.DEVMOLE) {
dimension = FlavorDimensions.INFRASTRUCTURE
buildConfigField("String", "API_ENDPOINT", "\"api-app.devmole.eu\"")
+ buildConfigField("String", "API_IP", "\"185.217.116.4\"")
}
create(Flavors.STAGEMOLE) {
dimension = FlavorDimensions.INFRASTRUCTURE
buildConfigField("String", "API_ENDPOINT", "\"api-app.stagemole.eu\"")
+ buildConfigField("String", "API_IP", "\"185.217.116.132\"")
}
}
diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt
index 9d4636cf07..c33b8ef518 100644
--- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt
+++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt
@@ -63,7 +63,7 @@ val vpnServiceModule = module {
cacheDir = get(named(CACHE_DIR_NAMED_ARGUMENT)),
apiEndpointOverride =
if (BuildConfig.FLAVOR_infrastructure != "prod") {
- ApiEndpointOverride(BuildConfig.API_ENDPOINT)
+ ApiEndpointOverride(BuildConfig.API_ENDPOINT, BuildConfig.API_IP)
} else {
null
},
diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
index 6327a54757..314aa1f09e 100644
--- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
+++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
@@ -55,6 +55,11 @@ abstract class MockApiTest {
}
private fun createEndpoint(port: Int): ApiEndpointOverride {
- return ApiEndpointOverride(InetAddress.getLocalHost().hostName, port, disableTls = true)
+ return ApiEndpointOverride(
+ InetAddress.getLocalHost().hostName,
+ InetAddress.getLocalHost().hostAddress!!,
+ port,
+ disableTls = true,
+ )
}
}