From 851320e6bd2bbe4a66c7d754be9e819416142a5f Mon Sep 17 00:00:00 2001 From: Bart Sopers Date: Sat, 26 Dec 2020 20:40:52 +0100 Subject: [PATCH 1/4] Handle empty RileyLink name correctly --- .../pump/common/hw/rileylink/ble/RileyLinkBLE.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.java index 05744e1845..e922bd990c 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.java +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.java @@ -396,10 +396,16 @@ public class RileyLinkBLE { } rileyLinkServiceData.rileyLinkAddress = bluetoothConnectionGatt.getDevice().getAddress(); - rileyLinkServiceData.rileyLinkName = bluetoothConnectionGatt.getDevice().getName(); - // Update stored name upon connecting (also for backwards compatibility for device where a name was not yet stored) - sp.putString(RileyLinkConst.Prefs.RileyLinkName, rileyLinkServiceData.rileyLinkName); + String deviceName = bluetoothConnectionGatt.getDevice().getName(); + if (StringUtils.isNotEmpty(deviceName)) { + // Update stored name upon connecting (also for backwards compatibility for device where a name was not yet stored) + sp.putString(RileyLinkConst.Prefs.RileyLinkName, rileyLinkServiceData.rileyLinkName); + rileyLinkServiceData.rileyLinkName = deviceName; + } else { + sp.remove(RileyLinkConst.Prefs.RileyLinkName); + rileyLinkServiceData.rileyLinkName = null; + } } } From 8f2e60d7bc8e9f2d182c468514ba21d054876ec0 Mon Sep 17 00:00:00 2001 From: Bart Sopers Date: Sun, 27 Dec 2020 21:55:48 +0100 Subject: [PATCH 2/4] Update version for Omnipod This reverts commit 7ad84bbdec927e333337ebb29d9ae86aa981ba4d. --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index c9e31881d3..af78525894 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -120,7 +120,7 @@ android { targetSdkVersion 28 multiDexEnabled true versionCode 1500 - version "2.7.2-dev" + version "2.8.0-dev-omnipod" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' From 1942f606b9819bd6c09a46f0322488f4c72b4e0c Mon Sep 17 00:00:00 2001 From: Bart Sopers Date: Sat, 2 Jan 2021 22:30:27 +0100 Subject: [PATCH 3/4] Prevent crash in OmnipodOverviewFragment when context is null --- .../pump/omnipod/ui/OmnipodOverviewFragment.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/omnipod/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/ui/OmnipodOverviewFragment.kt b/omnipod/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/ui/OmnipodOverviewFragment.kt index fbfeae4b8b..b58c4dd0bb 100644 --- a/omnipod/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/ui/OmnipodOverviewFragment.kt +++ b/omnipod/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/ui/OmnipodOverviewFragment.kt @@ -102,10 +102,12 @@ class OmnipodOverviewFragment : DaggerFragment() { omnipod_overview_button_pod_management.setOnClickListener { if (omnipodPumpPlugin.rileyLinkService?.verifyConfiguration() == true) { activity?.let { activity -> - protectionCheck.queryProtection( - activity, ProtectionCheck.Protection.PREFERENCES, - UIRunnable(Runnable { startActivity(Intent(context, PodManagementActivity::class.java)) }) - ) + context?.let { context -> + protectionCheck.queryProtection( + activity, ProtectionCheck.Protection.PREFERENCES, + UIRunnable { startActivity(Intent(context, PodManagementActivity::class.java)) } + ) + } } } else { displayNotConfiguredDialog() @@ -514,10 +516,10 @@ class OmnipodOverviewFragment : DaggerFragment() { private fun displayNotConfiguredDialog() { context?.let { - UIRunnable(Runnable { + UIRunnable { OKDialog.show(it, resourceHelper.gs(R.string.omnipod_warning), resourceHelper.gs(R.string.omnipod_error_operation_not_possible_no_configuration), null) - }).run() + }.run() } } @@ -534,9 +536,9 @@ class OmnipodOverviewFragment : DaggerFragment() { private fun displayOkDialog(title: String, message: String) { context?.let { - UIRunnable(Runnable { + UIRunnable { OKDialog.show(it, title, message, null) - }).run() + }.run() } } From a1213f2052d452be48b4c5d488cce8125a00a5e1 Mon Sep 17 00:00:00 2001 From: Bart Sopers Date: Sat, 2 Jan 2021 23:31:05 +0100 Subject: [PATCH 4/4] Add FIXME for potential crash in RL code --- .../rileylink/service/tasks/InitializePumpManagerTask.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.java index 271a769d46..250a0a69b8 100644 --- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.java +++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.java @@ -65,6 +65,11 @@ public class InitializePumpManagerTask extends ServiceTask { lastGoodFrequency = rileyLinkServiceData.lastGoodFrequency; } + /* FIXME this can apparently crash: + Fatal Exception: java.lang.ClassCastException + info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin + cannot be cast to info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice + */ RileyLinkCommunicationManager rileyLinkCommunicationManager = ((RileyLinkPumpDevice) activePlugin.getActivePump()).getRileyLinkService().getDeviceCommunicationManager(); if (activePlugin.getActivePump().manufacturer() == ManufacturerType.Medtronic) {