From cff90c5bd705c04d50bccf8f0029687feb619725 Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 9 Jun 2020 18:56:34 -0700 Subject: [PATCH] never let getMyNodeInfo ever return null. fixes an autobug for device removal --- app/src/main/aidl/com/geeksville/mesh/IMeshService.aidl | 3 ++- app/src/main/java/com/geeksville/mesh/service/MeshService.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/aidl/com/geeksville/mesh/IMeshService.aidl b/app/src/main/aidl/com/geeksville/mesh/IMeshService.aidl index 7602cfb90..3535185c8 100644 --- a/app/src/main/aidl/com/geeksville/mesh/IMeshService.aidl +++ b/app/src/main/aidl/com/geeksville/mesh/IMeshService.aidl @@ -64,7 +64,8 @@ interface IMeshService { /// Users should not call this directly, only used internally by the MeshUtil activity void setDeviceAddress(String deviceAddr); - /// Get basic device hardware info about our connected radio + /// Get basic device hardware info about our connected radio. Will never return NULL. Will throw + /// RemoteException if no my node info is available MyNodeInfo getMyNodeInfo(); /// Start updating the radios firmware diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index f3abbdf7d..097695c22 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -1488,7 +1488,9 @@ class MeshService : Service(), Logging { doFirmwareUpdate() } - override fun getMyNodeInfo(): MyNodeInfo? = this@MeshService.myNodeInfo + override fun getMyNodeInfo(): MyNodeInfo = toRemoteExceptions { + this@MeshService.myNodeInfo ?: throw RadioNotConnectedException("No MyNodeInfo") + } override fun getMyId() = toRemoteExceptions { myNodeID }