From 35c151945c0df0b9faac7a5350eea7b8dae4c7de Mon Sep 17 00:00:00 2001 From: Jamorham Date: Sun, 2 Jul 2023 12:48:34 +0000 Subject: [PATCH] OB1: disallow scan by mac --- .../dexdrip/services/Ob1G5CollectionService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/services/Ob1G5CollectionService.java b/app/src/main/java/com/eveningoutpost/dexdrip/services/Ob1G5CollectionService.java index 3e9ead344..a32ac4992 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/services/Ob1G5CollectionService.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/services/Ob1G5CollectionService.java @@ -14,6 +14,7 @@ import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.pendingStart; import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.pendingStop; import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.usingAlt; +import static com.eveningoutpost.dexdrip.models.JoH.emptyString; import static com.eveningoutpost.dexdrip.models.JoH.msSince; import static com.eveningoutpost.dexdrip.models.JoH.niceTimeScalar; import static com.eveningoutpost.dexdrip.models.JoH.tolerantHexStringToByteArray; @@ -227,6 +228,7 @@ public class Ob1G5CollectionService extends G5BaseService { private static volatile int skippedConnects = 0; private static final boolean d = false; + private static final boolean allow_scan_by_mac = false; private static boolean use_auto_connect = false; private static volatile boolean minimize_scanning = false; // set by preference private static volatile boolean always_scan = false; @@ -553,7 +555,7 @@ private synchronized void scan_for_device() { historicalTransmitterMAC = PersistentStore.getString(OB1G5_MACSTORE + transmitterID); // "" if unset ScanFilter filter; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && historicalTransmitterMAC.length() > 5) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && historicalTransmitterMAC.length() > 5 && allow_scan_by_mac) { filter = new ScanFilter.Builder() .setDeviceAddress(historicalTransmitterMAC) .build(); @@ -1176,7 +1178,7 @@ private synchronized void stopDiscover() { } private boolean isScanMatch(final String this_address, final String historical_address, final String this_name, final String search_name) { - if (search_name == null && (this_address.equalsIgnoreCase(historical_address) || this_name == null || this_name.startsWith("DXCM"))) { + if (search_name == null && (this_address.equalsIgnoreCase(historical_address) || this_name == null || (emptyString(historical_address) && this_name.startsWith("DXCM")))) { return !inFailureTally(this_address); }