diff options
| author | saber safavi <saber.safavi@codic.se> | 2022-12-13 14:18:37 +0100 |
|---|---|---|
| committer | saber safavi <saber.safavi@codic.se> | 2022-12-13 15:09:47 +0100 |
| commit | fa9f5a0d8fe897ce65a63cee4918fcf77442c761 (patch) | |
| tree | 00a7a77607c16d100532c438dcba78057c0487bd /android/app/src/main | |
| parent | 65ca693d4e5f768633e448d57259de7cbf77e3e9 (diff) | |
| download | mullvadvpn-fa9f5a0d8fe897ce65a63cee4918fcf77442c761.tar.xz mullvadvpn-fa9f5a0d8fe897ce65a63cee4918fcf77442c761.zip | |
Fix crash on device messenger communication
Diffstat (limited to 'android/app/src/main')
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) |
