diff options
Diffstat (limited to 'android')
4 files changed, 22 insertions, 9 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt index f4a0777e3f..3b4a460fea 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt @@ -5,6 +5,9 @@ import java.io.File import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import net.mullvad.mullvadvpn.lib.endpoint.ApiEndpointFromIntentHolder +import net.mullvad.mullvadvpn.lib.endpoint.ApiEndpointOverride +import net.mullvad.mullvadvpn.service.BuildConfig const val PROBLEM_REPORT_LOGS_FILE = "problem_report.txt" @@ -21,7 +24,12 @@ sealed interface SendProblemReportResult { data class UserReport(val email: String?, val description: String) -class MullvadProblemReport(context: Context, val dispatcher: CoroutineDispatcher = Dispatchers.IO) { +class MullvadProblemReport( + context: Context, + private val apiEndpointOverride: ApiEndpointOverride?, + private val apiEndpointFromIntentHolder: ApiEndpointFromIntentHolder, + val dispatcher: CoroutineDispatcher = Dispatchers.IO, +) { private val cacheDirectory = File(context.cacheDir.toURI()) private val logDirectory = File(context.filesDir.toURI()) @@ -47,11 +55,20 @@ class MullvadProblemReport(context: Context, val dispatcher: CoroutineDispatcher val sentSuccessfully = withContext(dispatcher) { + val intentApiOverride = apiEndpointFromIntentHolder.apiEndpointOverride + val apiOverride = + if (BuildConfig.DEBUG && intentApiOverride != null) { + intentApiOverride + } else { + apiEndpointOverride + } + sendProblemReport( userReport.email ?: "", userReport.description, logsPath.absolutePath, cacheDirectory.absolutePath, + apiOverride, ) } @@ -89,5 +106,6 @@ class MullvadProblemReport(context: Context, val dispatcher: CoroutineDispatcher userMessage: String, reportPath: String, cacheDirectory: String, + apiEndpointOverride: ApiEndpointOverride?, ): Boolean } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt index 4acf52c7b0..bc236cc792 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt @@ -33,6 +33,7 @@ import net.mullvad.mullvadvpn.repository.UserPreferencesMigration import net.mullvad.mullvadvpn.repository.UserPreferencesRepository import net.mullvad.mullvadvpn.repository.UserPreferencesSerializer import net.mullvad.mullvadvpn.repository.WireguardConstraintsRepository +import net.mullvad.mullvadvpn.service.DaemonConfig import net.mullvad.mullvadvpn.ui.MainActivity import net.mullvad.mullvadvpn.ui.serviceconnection.AppVersionInfoRepository import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager @@ -129,7 +130,7 @@ val uiModule = module { single { ChangelogRepository(get()) } single { UserPreferencesRepository(get()) } single { SettingsRepository(get()) } - single { MullvadProblemReport(get()) } + single { MullvadProblemReport(get(), get<DaemonConfig>().apiEndpointOverride, get()) } single { RelayOverridesRepository(get()) } single { CustomListsRepository(get()) } single { RelayListRepository(get(), get()) } 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 5201e86386..7350aa0d26 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 @@ -7,7 +7,6 @@ import kotlinx.parcelize.Parcelize data class ApiEndpointOverride( val hostname: String, val port: Int = CUSTOM_ENDPOINT_HTTPS_PORT, - val disableAddressCache: Boolean = true, val disableTls: Boolean = false, val forceDirectConnection: Boolean = true, ) : Parcelable { 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 d3590fc056..c7cb8f0377 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,11 +55,6 @@ abstract class MockApiTest { } private fun createEndpoint(port: Int): ApiEndpointOverride { - return ApiEndpointOverride( - InetAddress.getLocalHost().hostName, - port, - disableAddressCache = true, - disableTls = true, - ) + return ApiEndpointOverride(InetAddress.getLocalHost().hostName, port, disableTls = true) } } |
