summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/main
diff options
context:
space:
mode:
authorsaber safavi <saber.safavi@codic.se>2022-12-13 14:18:37 +0100
committersaber safavi <saber.safavi@codic.se>2022-12-13 15:09:47 +0100
commitfa9f5a0d8fe897ce65a63cee4918fcf77442c761 (patch)
tree00a7a77607c16d100532c438dcba78057c0487bd /android/app/src/main
parent65ca693d4e5f768633e448d57259de7cbf77e3e9 (diff)
downloadmullvadvpn-fa9f5a0d8fe897ce65a63cee4918fcf77442c761.tar.xz
mullvadvpn-fa9f5a0d8fe897ce65a63cee4918fcf77442c761.zip
Fix crash on device messenger communication
Diffstat (limited to 'android/app/src/main')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt9
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/MessengerExtensions.kt5
2 files changed, 10 insertions, 4 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
index 6e445a6d34..56e7ee4d28 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
@@ -6,6 +6,7 @@ import kotlinx.coroutines.flow.callbackFlow
import net.mullvad.mullvadvpn.ipc.Event
import net.mullvad.mullvadvpn.ipc.EventDispatcher
import net.mullvad.mullvadvpn.ipc.Request
+import net.mullvad.mullvadvpn.util.trySendRequest
class ServiceConnectionDeviceDataSource(
private val connection: Messenger,
@@ -43,18 +44,18 @@ class ServiceConnectionDeviceDataSource(
// Async result: Event.DeviceChanged
fun refreshDevice() {
- connection.send(Request.RefreshDeviceState.message)
+ connection.trySendRequest(Request.RefreshDeviceState, true)
}
fun getDevice() {
- connection.send(Request.GetDevice.message)
+ connection.trySendRequest(Request.GetDevice, true)
}
fun removeDevice(accountToken: String, deviceId: String) {
- connection.send(Request.RemoveDevice(accountToken, deviceId).message)
+ connection.trySendRequest(Request.RemoveDevice(accountToken, deviceId), true)
}
fun refreshDeviceList(accountToken: String) {
- connection.send(Request.GetDeviceList(accountToken).message)
+ connection.trySendRequest(Request.GetDeviceList(accountToken), true)
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/MessengerExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/MessengerExtensions.kt
index 178358ef2e..71ce51ad79 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/MessengerExtensions.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/MessengerExtensions.kt
@@ -6,11 +6,16 @@ import android.os.Messenger
import android.os.RemoteException
import android.util.Log
import net.mullvad.mullvadvpn.ipc.Event
+import net.mullvad.mullvadvpn.ipc.Request
fun Messenger.trySendEvent(event: Event, logErrors: Boolean): Boolean {
return trySend(event.message, logErrors, event::class.qualifiedName)
}
+fun Messenger.trySendRequest(request: Request, logErrors: Boolean): Boolean {
+ return trySend(request.message, logErrors, request::class.qualifiedName)
+}
+
private fun Messenger.trySend(message: Message, logErrors: Boolean, messageName: String?): Boolean {
return try {
this.send(message)