From 306d45bb3ef5bcd3a3552b9023ed08e4b27386f4 Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Tue, 1 May 2018 22:15:22 +0200 Subject: [PATCH] Fix Boolean thingy --- .../NSClientInternal/NsClientReceiverDelegate.java | 14 ++++++++++---- .../NsClientReceiverDelegateTest.java | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegate.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegate.java index a9238a83ea..04b587ca24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegate.java @@ -121,10 +121,16 @@ class NsClientReceiverDelegate { boolean newAllowedState = true; - if (!ev.wifiConnected && wifiOnly) newAllowedState = false; - if (ev.wifiConnected && !allowedSSIDs.trim().isEmpty() && !allowedSSIDs.contains(ev.ssid)) - newAllowedState = false; - if (!ev.wifiConnected && !allowRoaming && ev.roaming) newAllowedState = false; + if (ev.wifiConnected) { + if (!allowedSSIDs.trim().isEmpty() && !allowedSSIDs.contains(ev.ssid)) { + newAllowedState = false; + } + } else { + if ((!allowRoaming && ev.roaming) || wifiOnly) { + newAllowedState = false; + } + } + return newAllowedState; } diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegateTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegateTest.java index cc209c1837..70e8d2c9b7 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegateTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/NSClientInternal/NsClientReceiverDelegateTest.java @@ -111,5 +111,13 @@ public class NsClientReceiverDelegateTest { ev.wifiConnected = true; ev.roaming = true; assertTrue(sut.calculateStatus(ev)); + + // wifiOnly = false + // allowRoaming = false + when(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(false); + when(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(false); + ev.wifiConnected = true; + ev.roaming = true; + assertTrue(sut.calculateStatus(ev)); } }