diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2024-06-11 15:37:43 +0200 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2024-06-17 09:49:52 +0200 |
| commit | 5c16eff4b48c6e14b720b81e0b548c8b31d5a22e (patch) | |
| tree | 6a17f4c00b1997d4906fdbbea00700ef7d89ed4b /android/lib | |
| parent | 9cba0d84ca508a7ac69442cb32b1660691704653 (diff) | |
| download | mullvadvpn-5c16eff4b48c6e14b720b81e0b548c8b31d5a22e.tar.xz mullvadvpn-5c16eff4b48c6e14b720b81e0b548c8b31d5a22e.zip | |
Get value of data directory value at app startup
Remove `APP_PATH` from `mullvad-paths` on Android since it should
not be a constant value. Instead, it is passed down from the Android app
startup. As it turns out, it is really ever used for pointing to the RPC
socket in use.
Diffstat (limited to 'android/lib')
3 files changed, 14 insertions, 2 deletions
diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/DiConstant.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/DiConstant.kt new file mode 100644 index 0000000000..0acd41c7ec --- /dev/null +++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/DiConstant.kt @@ -0,0 +1,3 @@ +package net.mullvad.mullvadvpn.lib.common.constant + +const val GRPC_SOCKET_FILE_NAMED_ARGUMENT = "RPC_SOCKET" diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/PathConstant.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/PathConstant.kt new file mode 100644 index 0000000000..4ad0471c86 --- /dev/null +++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/constant/PathConstant.kt @@ -0,0 +1,3 @@ +package net.mullvad.mullvadvpn.lib.common.constant + +const val GRPC_SOCKET_FILE_NAME = "rpc-socket" diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt index 987b7e56ea..10c2406850 100644 --- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt +++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt @@ -16,6 +16,7 @@ import io.grpc.ConnectivityState import io.grpc.Status import io.grpc.StatusException import io.grpc.android.UdsChannelBuilder +import java.io.File import java.net.InetAddress import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -127,14 +128,19 @@ import net.mullvad.mullvadvpn.lib.model.wireguardConstraints @Suppress("TooManyFunctions") class ManagementService( - rpcSocketPath: String, + rpcSocketFile: File, private val extensiveLogging: Boolean, private val scope: CoroutineScope, ) { private var job: Job? = null + // We expect daemon to create the rpc socket file on the path provided on initialisation private val channel = - UdsChannelBuilder.forPath(rpcSocketPath, LocalSocketAddress.Namespace.FILESYSTEM).build() + UdsChannelBuilder.forPath( + rpcSocketFile.absolutePath, + LocalSocketAddress.Namespace.FILESYSTEM + ) + .build() val connectionState: StateFlow<GrpcConnectivityState> = channel |
