From 8661cdc3b6cab59d01e1466cc93d2164b7f1e541 Mon Sep 17 00:00:00 2001 From: Navid Date: Sat, 2 Dec 2023 16:12:37 -0500 Subject: [PATCH 1/5] G7 cleanup --- .../java/com/eveningoutpost/dexdrip/Home.java | 3 ++- .../dexdrip/g5model/Ob1G5StateMachine.java | 2 +- .../utilitymodels/NightscoutBatteryDevice.java | 6 ++++++ app/src/main/res/values/strings.xml | 16 ++++++++-------- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java index 02280ca7b6..ade826721e 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java @@ -69,6 +69,7 @@ import android.widget.Toast; import com.eveningoutpost.dexdrip.g5model.DexTimeKeeper; +import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine; import com.eveningoutpost.dexdrip.g5model.SensorDays; import com.eveningoutpost.dexdrip.importedlibraries.usbserial.util.HexDump; @@ -2690,7 +2691,7 @@ private void updateCurrentBgInfoCommon(DexCollectionType collector, TextView not // TODO this logic needed a rework even a year ago, now its a lot more confused with the additional complexity of native mode if (Ob1G5CollectionService.isG5ActiveButUnknownState() && Calibration.latestValid(2).size() < 2) { // TODO use format string - notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? "G6" : "G5"))); + notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? (FirmwareCapability.isDeviceG7(getTransmitterID()) ? "G7" : "G6") : "G5"))); showUncalibratedSlope(); } else { diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java index ef13e3cb26..ed6b465c04 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java @@ -668,7 +668,7 @@ public static boolean doGetData(Ob1G5CollectionService parent, RxBleConnection c if (connection == null) return false; // TODO switch modes depending on conditions as to whether we are using internal final boolean use_g5_internal_alg = Pref.getBooleanDefaultFalse("ob1_g5_use_transmitter_alg"); - UserError.Log.d(TAG, use_g5_internal_alg ? ("Requesting Glucose Data " + (usingG6() ? "G6" : "G5")) : "Requesting Sensor Data"); + UserError.Log.d(TAG, use_g5_internal_alg ? ("Requesting Glucose Data " + (usingG6() ? (FirmwareCapability.isDeviceG7(getTransmitterID()) ? "G7" : "G6") : "G5")) : "Requesting Sensor Data"); if (!use_g5_internal_alg) { parent.lastSensorStatus = null; // not applicable diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java index 507af48bf9..4266d43c5d 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java @@ -1,12 +1,15 @@ package com.eveningoutpost.dexdrip.utilitymodels; +import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; + import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Build; +import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine; import com.eveningoutpost.dexdrip.g5model.Ob1DexTransmitterBattery; import com.eveningoutpost.dexdrip.services.DexCollectionService; @@ -143,6 +146,9 @@ boolean alwaysSendBattery() { @Override String getDeviceName() { if (Ob1G5StateMachine.usingG6()) { + if (FirmwareCapability.isDeviceG7(getTransmitterID())) { + return "G7 Device"; + } return "G6 Transmitter"; } return "G5 Transmitter"; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d03343b5cc..5d3e40cd57 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -726,8 +726,8 @@ Use any-tag optimized reading method Low level diagnostic/prototype value ID of your Dexcom Transmitter, e.g. 12AB3 - Advanced G5 settings for rare situations - G5/G6/Dex1 Debug Settings + Advanced Dexcom settings for rare situations + G5/G6/G7/Dex1 Debug Settings Some devices work better when scanning constantly, others do not. If reading is reliable when this setting is not selected, you should have improved battery life. Normally best to keep this disabled Scan for G5 constantly This is crucial for some Android devices to properly connect, but can cause missed readings when other UI intensive activities are in use. @@ -1213,7 +1213,7 @@ Send your bridge battery level to Nightscout. Uncheck if your battery sensor is broken. Upload bridge battery Send Dexcom transmitter battery statistics to Nightscout. Includes all of the data shown on the Collector Status screen. - Upload OB1G5/G6 transmitter battery + Upload OB1G5/G6/G7/1 transmitter battery Send treatment data to Nightscout. Uncheck if your careportal is broken. Upload treatments Display and sound a notification if Nightscout upload is failing. @@ -1381,14 +1381,14 @@ Fallback to xDrip Use heuristics to minimize Bluetooth scanning + save power Minimize Scanning - I am using a G6 or Dexcom 1 Sensor - G6/Dex1 Support + I am using a G6, G7 or Dexcom 1 Sensor + G6/G7/Dex1 Support OB1 collector can unbond if it thinks the encryption has failed. If you get problems with it unpairing then disable this option. If you then totally lose connection, make sure this is enabled. Allow OB1 unbonding OB1 collector can initiate bonding. Allow OB1 initiate bonding Old G5 Collector Settings - G5/G6 battery options + G5/G6/G7/1 battery options Adjust battery warning level Plugins and Features Heart rate monitor @@ -1400,8 +1400,8 @@ Graph Settings Show TBR information from external status Show Basal TBR - Show G6 predictive glucose dots - G6 Prediction + Show G6/G7 predictive glucose dots + G6/G7 Prediction Declutter graph with treatment icons for small boluses Show micro bolus icons Show alternate glucose dots From 8c5f119f4b6fa8bb4292bd971a5f39fd0e049579 Mon Sep 17 00:00:00 2001 From: Navid Date: Wed, 6 Dec 2023 09:45:08 -0500 Subject: [PATCH 2/5] Data table --- .../java/com/eveningoutpost/dexdrip/models/BgReading.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java index b4137dd6b3..7609e68586 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java @@ -4,6 +4,7 @@ import static com.eveningoutpost.dexdrip.importedlibraries.dexcom.Dex_Constants.TREND_ARROW_VALUES.getTrend; import static com.eveningoutpost.dexdrip.calibrations.PluggableCalibration.getCalibrationPluginFromPreferences; import static com.eveningoutpost.dexdrip.calibrations.PluggableCalibration.newCloseSensorData; +import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; import android.content.Context; import android.content.SharedPreferences; @@ -21,6 +22,7 @@ import com.eveningoutpost.dexdrip.BestGlucose; import com.eveningoutpost.dexdrip.GcmActivity; import com.eveningoutpost.dexdrip.Home; +import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.importedlibraries.dexcom.records.EGVRecord; import com.eveningoutpost.dexdrip.importedlibraries.dexcom.records.SensorRecord; import com.eveningoutpost.dexdrip.models.UserError.Log; @@ -1122,7 +1124,11 @@ public static synchronized BgReading bgReadingInsertFromG5(double calculated_val bgr.calculated_value = calculated_value; bgr.raw_data = SPECIAL_G5_PLACEHOLDER; // placeholder if (Ob1G5CollectionService.usingG6()) { - bgr.appendSourceInfo("G6 Native"); + if (FirmwareCapability.isDeviceG7(getTransmitterID())) { + bgr.appendSourceInfo("G7"); + } else { + bgr.appendSourceInfo("G6 Native"); + } } else { bgr.appendSourceInfo("G5 Native"); } From c98f3b44046d2bbc3368e57e328211e676fb1b68 Mon Sep 17 00:00:00 2001 From: Navid Date: Mon, 11 Dec 2023 23:34:18 -0500 Subject: [PATCH 3/5] txidLength instead of DeviceG7 --- app/src/main/java/com/eveningoutpost/dexdrip/Home.java | 3 +-- .../com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java | 2 +- .../main/java/com/eveningoutpost/dexdrip/models/BgReading.java | 3 +-- .../dexdrip/utilitymodels/NightscoutBatteryDevice.java | 3 +-- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java index 53fdf3a5d2..f29b9c115d 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java @@ -70,7 +70,6 @@ import android.widget.Toast; import com.eveningoutpost.dexdrip.g5model.DexTimeKeeper; -import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine; import com.eveningoutpost.dexdrip.g5model.SensorDays; import com.eveningoutpost.dexdrip.importedlibraries.usbserial.util.HexDump; @@ -2693,7 +2692,7 @@ private void updateCurrentBgInfoCommon(DexCollectionType collector, TextView not // TODO this logic needed a rework even a year ago, now its a lot more confused with the additional complexity of native mode if (Ob1G5CollectionService.isG5ActiveButUnknownState() && Calibration.latestValid(2).size() < 2) { // TODO use format string - notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? (FirmwareCapability.isDeviceG7(getTransmitterID()) ? "G7" : "G6") : "G5"))); + notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? (getTransmitterID().length() < 6 ? "G7" : "G6") : "G5"))); showUncalibratedSlope(); } else { diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java index ed6b465c04..73d2fc56b2 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/g5model/Ob1G5StateMachine.java @@ -668,7 +668,7 @@ public static boolean doGetData(Ob1G5CollectionService parent, RxBleConnection c if (connection == null) return false; // TODO switch modes depending on conditions as to whether we are using internal final boolean use_g5_internal_alg = Pref.getBooleanDefaultFalse("ob1_g5_use_transmitter_alg"); - UserError.Log.d(TAG, use_g5_internal_alg ? ("Requesting Glucose Data " + (usingG6() ? (FirmwareCapability.isDeviceG7(getTransmitterID()) ? "G7" : "G6") : "G5")) : "Requesting Sensor Data"); + UserError.Log.d(TAG, use_g5_internal_alg ? ("Requesting Glucose Data " + (usingG6() ? (shortTxId() ? "G7" : "G6") : "G5")) : "Requesting Sensor Data"); if (!use_g5_internal_alg) { parent.lastSensorStatus = null; // not applicable diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java index 7609e68586..c0e3b9f73a 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java @@ -22,7 +22,6 @@ import com.eveningoutpost.dexdrip.BestGlucose; import com.eveningoutpost.dexdrip.GcmActivity; import com.eveningoutpost.dexdrip.Home; -import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.importedlibraries.dexcom.records.EGVRecord; import com.eveningoutpost.dexdrip.importedlibraries.dexcom.records.SensorRecord; import com.eveningoutpost.dexdrip.models.UserError.Log; @@ -1124,7 +1123,7 @@ public static synchronized BgReading bgReadingInsertFromG5(double calculated_val bgr.calculated_value = calculated_value; bgr.raw_data = SPECIAL_G5_PLACEHOLDER; // placeholder if (Ob1G5CollectionService.usingG6()) { - if (FirmwareCapability.isDeviceG7(getTransmitterID())) { + if (getTransmitterID().length() < 6) { bgr.appendSourceInfo("G7"); } else { bgr.appendSourceInfo("G6 Native"); diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java index 4266d43c5d..1f8d598921 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java @@ -9,7 +9,6 @@ import android.os.BatteryManager; import android.os.Build; -import com.eveningoutpost.dexdrip.g5model.FirmwareCapability; import com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine; import com.eveningoutpost.dexdrip.g5model.Ob1DexTransmitterBattery; import com.eveningoutpost.dexdrip.services.DexCollectionService; @@ -146,7 +145,7 @@ boolean alwaysSendBattery() { @Override String getDeviceName() { if (Ob1G5StateMachine.usingG6()) { - if (FirmwareCapability.isDeviceG7(getTransmitterID())) { + if (getTransmitterID().length() < 6) { return "G7 Device"; } return "G6 Transmitter"; From 5ef0937cb8cb74c3926427c1c167707c8da6f419 Mon Sep 17 00:00:00 2001 From: Navid Date: Sun, 17 Dec 2023 22:48:21 -0500 Subject: [PATCH 4/5] Classic system status data source --- .../eveningoutpost/dexdrip/utilitymodels/BroadcastGlucose.java | 2 +- .../com/eveningoutpost/dexdrip/utils/DexCollectionType.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/BroadcastGlucose.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/BroadcastGlucose.java index 3c3cc73957..b9fb7b7e4d 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/BroadcastGlucose.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/BroadcastGlucose.java @@ -63,7 +63,7 @@ public static void sendLocalBroadcast(final BgReading bgReading) { UserError.Log.i("SENSOR QUEUE:", "Broadcast data"); String collectorName = DexCollectionType.getBestCollectorHardwareName(); - if (collectorName.equals("G6 Native")) { + if (collectorName.equals("G6 Native") || collectorName.equals("G7")) { collectorName += " / G5 Native"; // compatibility for older AAPS } bundle.putString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION, collectorName); diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java b/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java index e26e38fafd..dad8ca4b81 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java @@ -13,6 +13,7 @@ import com.eveningoutpost.dexdrip.cgm.sharefollow.ShareFollowService; import com.eveningoutpost.dexdrip.cgm.webfollow.WebFollowService; import com.eveningoutpost.dexdrip.cgm.carelinkfollow.CareLinkFollowService; +import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; import java.lang.reflect.Method; import java.util.Collections; @@ -276,7 +277,7 @@ public static String getBestCollectorHardwareName() { return "Network G4 and Classic xDrip"; case DexcomG5: if (Ob1G5CollectionService.usingNativeMode()) { - return Ob1G5CollectionService.usingG6() ? "G6 Native" : "G5 Native"; + return Ob1G5CollectionService.usingG6() ? (getTransmitterID().length() < 6 ? "G7" : "G6 Native") : "G5 Native"; } return dct.name(); case LibreWifi: From 5812f610c4c4a39a26c9ba65f43b85d9609de23c Mon Sep 17 00:00:00 2001 From: Navid Date: Sat, 23 Dec 2023 10:26:58 -0500 Subject: [PATCH 5/5] Use public shortTxId --- app/src/main/java/com/eveningoutpost/dexdrip/Home.java | 3 ++- .../java/com/eveningoutpost/dexdrip/models/BgReading.java | 4 ++-- .../dexdrip/utilitymodels/NightscoutBatteryDevice.java | 4 ++-- .../com/eveningoutpost/dexdrip/utils/DexCollectionType.java | 5 +++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java index f29b9c115d..e0a8c51dec 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java @@ -1,6 +1,7 @@ package com.eveningoutpost.dexdrip; import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; +import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.shortTxId; import static com.eveningoutpost.dexdrip.models.JoH.msSince; import static com.eveningoutpost.dexdrip.models.JoH.quietratelimit; import static com.eveningoutpost.dexdrip.models.JoH.tsl; @@ -2692,7 +2693,7 @@ private void updateCurrentBgInfoCommon(DexCollectionType collector, TextView not // TODO this logic needed a rework even a year ago, now its a lot more confused with the additional complexity of native mode if (Ob1G5CollectionService.isG5ActiveButUnknownState() && Calibration.latestValid(2).size() < 2) { // TODO use format string - notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? (getTransmitterID().length() < 6 ? "G7" : "G6") : "G5"))); + notificationText.setText(String.format(gs(R.string.state_not_currently_known), (Ob1G5StateMachine.usingG6() ? (shortTxId() ? "G7" : "G6") : "G5"))); showUncalibratedSlope(); } else { diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java index c0e3b9f73a..c2a1afd48f 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/models/BgReading.java @@ -1,10 +1,10 @@ package com.eveningoutpost.dexdrip.models; +import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.shortTxId; import static com.eveningoutpost.dexdrip.importedlibraries.dexcom.Dex_Constants.TREND_ARROW_VALUES.NOT_COMPUTABLE; import static com.eveningoutpost.dexdrip.importedlibraries.dexcom.Dex_Constants.TREND_ARROW_VALUES.getTrend; import static com.eveningoutpost.dexdrip.calibrations.PluggableCalibration.getCalibrationPluginFromPreferences; import static com.eveningoutpost.dexdrip.calibrations.PluggableCalibration.newCloseSensorData; -import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; import android.content.Context; import android.content.SharedPreferences; @@ -1123,7 +1123,7 @@ public static synchronized BgReading bgReadingInsertFromG5(double calculated_val bgr.calculated_value = calculated_value; bgr.raw_data = SPECIAL_G5_PLACEHOLDER; // placeholder if (Ob1G5CollectionService.usingG6()) { - if (getTransmitterID().length() < 6) { + if (shortTxId()) { // If using G7 bgr.appendSourceInfo("G7"); } else { bgr.appendSourceInfo("G6 Native"); diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java index 1f8d598921..164b44180d 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/NightscoutBatteryDevice.java @@ -1,7 +1,7 @@ package com.eveningoutpost.dexdrip.utilitymodels; -import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; +import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.shortTxId; import android.content.Context; import android.content.Intent; @@ -145,7 +145,7 @@ boolean alwaysSendBattery() { @Override String getDeviceName() { if (Ob1G5StateMachine.usingG6()) { - if (getTransmitterID().length() < 6) { + if (shortTxId()) { // If using G7 return "G7 Device"; } return "G6 Transmitter"; diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java b/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java index dad8ca4b81..5fc20f886c 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utils/DexCollectionType.java @@ -13,7 +13,8 @@ import com.eveningoutpost.dexdrip.cgm.sharefollow.ShareFollowService; import com.eveningoutpost.dexdrip.cgm.webfollow.WebFollowService; import com.eveningoutpost.dexdrip.cgm.carelinkfollow.CareLinkFollowService; -import static com.eveningoutpost.dexdrip.services.Ob1G5CollectionService.getTransmitterID; + +import static com.eveningoutpost.dexdrip.g5model.Ob1G5StateMachine.shortTxId; import java.lang.reflect.Method; import java.util.Collections; @@ -277,7 +278,7 @@ public static String getBestCollectorHardwareName() { return "Network G4 and Classic xDrip"; case DexcomG5: if (Ob1G5CollectionService.usingNativeMode()) { - return Ob1G5CollectionService.usingG6() ? (getTransmitterID().length() < 6 ? "G7" : "G6 Native") : "G5 Native"; + return Ob1G5CollectionService.usingG6() ? (shortTxId() ? "G7" : "G6 Native") : "G5 Native"; } return dct.name(); case LibreWifi: