simplify BLE peripheral screens + add reset option for Anubis

Removed address from all transmitters

for Dexcom transmitters:
- removed resistance
- removed temperature
- removed runtime

(none of the above add any real value for current transmitters)

Added back the reset transmitter option, changed to specify only for Anubis transmitters and also added an info alert when selected.

Initial translations added: EN, ES
This commit is contained in:
Paul Plant 2023-12-17 19:57:56 +01:00
parent b98273868e
commit 24326e9db4
20 changed files with 83 additions and 112 deletions

View File

@ -37,7 +37,7 @@
"settingsviews_transmitterid" = "Transmitter ID"; "settingsviews_transmitterid" = "Transmitter ID";
"settingsviews_transmitterid_text_for_button" = "Transmitter ID"; "settingsviews_transmitterid_text_for_button" = "Transmitter ID";
"settingsviews_givetransmitterid" = "Enter Transmitter ID"; "settingsviews_givetransmitterid" = "Enter Transmitter ID";
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
"settingsviews_webooptransmitter" = "Use Transmitter Algorithm?"; "settingsviews_webooptransmitter" = "Use Transmitter Algorithm?";
"settingsviews_nonfixedtransmitter" = "Enable Multi-point Calibration?"; "settingsviews_nonfixedtransmitter" = "Enable Multi-point Calibration?";
"settingsviews_labelNonFixed" = "Multi-point Calibration"; "settingsviews_labelNonFixed" = "Multi-point Calibration";

View File

@ -78,7 +78,7 @@
"settingsviews_nonfixedtransmitter" = "Aktiviere Mehrpunkt-Kalibrierung?"; "settingsviews_nonfixedtransmitter" = "Aktiviere Mehrpunkt-Kalibrierung?";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Transmitter zurücksetzten"; "settingsviews_resettransmitter" = "Transmitter zurücksetzten (Anubis)";
/// used in settings, section Info, title of the license setting /// used in settings, section Info, title of the license setting
"settingsviews_license" = "Lizenz"; "settingsviews_license" = "Lizenz";

View File

@ -39,7 +39,7 @@
"settingsviews_transmitterid" = "Αναγνωριστικό πομπού"; "settingsviews_transmitterid" = "Αναγνωριστικό πομπού";
"settingsviews_transmitterid_text_for_button" = "Αναγνωριστικό πομπού"; "settingsviews_transmitterid_text_for_button" = "Αναγνωριστικό πομπού";
"settingsviews_givetransmitterid" = "Εισαγάγετε αναγνωριστικό πομπού"; "settingsviews_givetransmitterid" = "Εισαγάγετε αναγνωριστικό πομπού";
"settingsviews_resettransmitter" = "Επαναφορά πομπού"; "settingsviews_resettransmitter" = "Επαναφορά πομπού (Anubis)";
"settingsviews_webooptransmitter" = "Χρήση αλγόριθμου πομπού;"; "settingsviews_webooptransmitter" = "Χρήση αλγόριθμου πομπού;";
"settingsviews_nonfixedtransmitter" = "Ενεργοποίηση βαθμονόμησης πολλών σημείων;"; "settingsviews_nonfixedtransmitter" = "Ενεργοποίηση βαθμονόμησης πολλών σημείων;";
"settingsviews_labelNonFixed" = "Βαθμονόμηση πολλαπλών σημείων"; "settingsviews_labelNonFixed" = "Βαθμονόμηση πολλαπλών σημείων";

View File

@ -63,7 +63,8 @@
"settingsviews_transmitterid" = "Transmitter ID"; "settingsviews_transmitterid" = "Transmitter ID";
"settingsviews_transmitterid_text_for_button" = "Transmitter ID"; "settingsviews_transmitterid_text_for_button" = "Transmitter ID";
"settingsviews_givetransmitterid" = "Enter Transmitter ID"; "settingsviews_givetransmitterid" = "Enter Transmitter ID";
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
"settingsviews_resetDexcomTransmitterMessage" = "\nThis option will attempt to reset the transmitter on the next connection.\n\nNote that this will only work for G5 transmitters, very early G6 and all Anubis G6 transmitters.\n\nIt will NOT work for normal G6 or One transmitters.";
"settingsviews_webooptransmitter" = "Use Transmitter Algorithm?"; "settingsviews_webooptransmitter" = "Use Transmitter Algorithm?";
"settingsviews_nonfixedtransmitter" = "Enable Multi-point Calibration?"; "settingsviews_nonfixedtransmitter" = "Enable Multi-point Calibration?";
"settingsviews_labelNonFixed" = "Multi-point Calibration"; "settingsviews_labelNonFixed" = "Multi-point Calibration";

View File

@ -58,7 +58,8 @@
"settingsviews_transmitterid" = "ID del Transmisor"; "settingsviews_transmitterid" = "ID del Transmisor";
"settingsviews_transmitterid_text_for_button" = "ID del Transmisor"; "settingsviews_transmitterid_text_for_button" = "ID del Transmisor";
"settingsviews_givetransmitterid" = "ID del Transmisor"; "settingsviews_givetransmitterid" = "ID del Transmisor";
"settingsviews_resettransmitter" = "Resetear Transmisor"; "settingsviews_resettransmitter" = "Resetear Transmisor (solo G5/Anubis)";
"settingsviews_resetDexcomTransmitterMessage" = "\nEsta opción intentará resetear el transmisor durante la próxima conexión.\n\nEsto solo puede funcionar con transmisores G5 y transmisores G6 Anubis.\n\nNo funciona para transmisores normales tipo G6 y One.";
"settingsviews_nonfixedtransmitter" = "Habilitar Calibración Multi-punto?"; "settingsviews_nonfixedtransmitter" = "Habilitar Calibración Multi-punto?";
"settingsviews_labelNonFixed" = "Calibración Multi-punto"; "settingsviews_labelNonFixed" = "Calibración Multi-punto";
"settingsviews_sectiontitlealerting" = "Alarmas"; "settingsviews_sectiontitlealerting" = "Alarmas";

View File

@ -17,7 +17,7 @@
"settingsviews_transmitterid" = "Lähettimen ID"; "settingsviews_transmitterid" = "Lähettimen ID";
"settingsviews_transmitterid_text_for_button" = "Lähettimen ID"; "settingsviews_transmitterid_text_for_button" = "Lähettimen ID";
"settingsviews_givetransmitterid" = "Anna lähetettimen ID"; "settingsviews_givetransmitterid" = "Anna lähetettimen ID";
"settingsviews_resettransmitter" = "Nollaa lähetin"; "settingsviews_resettransmitter" = "Nollaa lähetin (Anubis)";
"settingsviews_nonfixedtransmitter" = "Käytä monipistekalibrointia?"; "settingsviews_nonfixedtransmitter" = "Käytä monipistekalibrointia?";
"settingsviews_labelNonFixed" = "Monipistekalibrointi"; "settingsviews_labelNonFixed" = "Monipistekalibrointi";
"settingsviews_sectiontitlealerting" = "Hälytys"; "settingsviews_sectiontitlealerting" = "Hälytys";

View File

@ -25,7 +25,7 @@
"settingsviews_transmitterid" = "Transmetteur ID"; "settingsviews_transmitterid" = "Transmetteur ID";
"settingsviews_transmitterid_text_for_button" = "Transmetteur ID"; "settingsviews_transmitterid_text_for_button" = "Transmetteur ID";
"settingsviews_givetransmitterid" = "Entrer Transmetteur ID"; "settingsviews_givetransmitterid" = "Entrer Transmetteur ID";
"settingsviews_resettransmitter" = "Réinitialiser Transmetteur"; "settingsviews_resettransmitter" = "Réinitialiser Transmetteur (Anubis)";
"settingsviews_sectiontitlealerting" = "Alarme"; "settingsviews_sectiontitlealerting" = "Alarme";
"settingsviews_row_alert_types" = "Types d'alarme"; "settingsviews_row_alert_types" = "Types d'alarme";
"settingsviews_row_alerts" = "Alarmes"; "settingsviews_row_alerts" = "Alarmes";

View File

@ -163,7 +163,7 @@
"sendTraceFile" = "Send Issue Report"; "sendTraceFile" = "Send Issue Report";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
/// general settings, should reading be multiplied with 10 yes or no /// general settings, should reading be multiplied with 10 yes or no
"settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?"; "settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?";

View File

@ -28,7 +28,7 @@
"settingsviews_useIFCCA1C" = "Toon HbA1c in mmols/mol?"; "settingsviews_useIFCCA1C" = "Toon HbA1c in mmols/mol?";
"settingsviews_sectiontitletransmitter" = "Transmitter"; "settingsviews_sectiontitletransmitter" = "Transmitter";
"settingsviews_givetransmitterid" = "Voer Transmitter ID In"; "settingsviews_givetransmitterid" = "Voer Transmitter ID In";
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis)";
"settingsviews_nonfixedtransmitter" = "Schakel Meerpuntskalibratie In?"; "settingsviews_nonfixedtransmitter" = "Schakel Meerpuntskalibratie In?";
"settingsviews_labelNonFixed" = "Meerpuntskalibratie"; "settingsviews_labelNonFixed" = "Meerpuntskalibratie";
"settingsviews_sectiontitlealerting" = "Alarmen"; "settingsviews_sectiontitlealerting" = "Alarmen";

View File

@ -163,7 +163,7 @@
"sendTraceFile" = "Send Issue Report"; "sendTraceFile" = "Send Issue Report";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
/// general settings, should reading be multiplied with 10 yes or no /// general settings, should reading be multiplied with 10 yes or no
"settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?"; "settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?";

View File

@ -36,7 +36,7 @@
"settingsviews_transmitterid" = "ID de Transmissor"; "settingsviews_transmitterid" = "ID de Transmissor";
"settingsviews_transmitterid_text_for_button" = "ID de Transmissor"; "settingsviews_transmitterid_text_for_button" = "ID de Transmissor";
"settingsviews_givetransmitterid" = "Introduzir ID Transmissor"; "settingsviews_givetransmitterid" = "Introduzir ID Transmissor";
"settingsviews_resettransmitter" = "Repor Transmissor"; "settingsviews_resettransmitter" = "Repor Transmissor (Anubis)";
"settingsviews_nonfixedtransmitter" = "Activar Calibração Multi-ponto?"; "settingsviews_nonfixedtransmitter" = "Activar Calibração Multi-ponto?";
"settingsviews_labelNonFixed" = "Calibração Multi-ponto"; "settingsviews_labelNonFixed" = "Calibração Multi-ponto";
"settingsviews_sectiontitlealerting" = "Alarme"; "settingsviews_sectiontitlealerting" = "Alarme";

View File

@ -39,7 +39,7 @@
"settingsviews_transmitterid" = "Идентификатор трансмиттера"; "settingsviews_transmitterid" = "Идентификатор трансмиттера";
"settingsviews_transmitterid_text_for_button" = "Идентификатор трансмиттера"; "settingsviews_transmitterid_text_for_button" = "Идентификатор трансмиттера";
"settingsviews_givetransmitterid" = "Введите идентификатор трансмиттера"; "settingsviews_givetransmitterid" = "Введите идентификатор трансмиттера";
"settingsviews_resettransmitter" = "Перезапустить трансмиттер?"; "settingsviews_resettransmitter" = "Перезапустить трансмиттер (Anubis)";
"settingsviews_webooptransmitter" = "Калибровка трансмиттера?"; "settingsviews_webooptransmitter" = "Калибровка трансмиттера?";
"settingsviews_nonfixedtransmitter" = "Многоточечная калибровка?"; "settingsviews_nonfixedtransmitter" = "Многоточечная калибровка?";
"settingsviews_labelNonFixed" = "Многоточечная калибровка"; "settingsviews_labelNonFixed" = "Многоточечная калибровка";

View File

@ -163,7 +163,7 @@
"sendTraceFile" = "Send Issue Report"; "sendTraceFile" = "Send Issue Report";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
/// general settings, should reading be multiplied with 10 yes or no /// general settings, should reading be multiplied with 10 yes or no
"settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?"; "settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?";

View File

@ -31,7 +31,7 @@
"settingsviews_transmitterid" = "Sändar-ID"; "settingsviews_transmitterid" = "Sändar-ID";
"settingsviews_transmitterid_text_for_button" = "Sändar-ID"; "settingsviews_transmitterid_text_for_button" = "Sändar-ID";
"settingsviews_givetransmitterid" = "Ange sändar-ID"; "settingsviews_givetransmitterid" = "Ange sändar-ID";
"settingsviews_resettransmitter" = "Återställ sändare"; "settingsviews_resettransmitter" = "Återställ sändare (Anubis)";
"settingsviews_nonfixedtransmitter" = "Använd flerpunktskalibrering?"; "settingsviews_nonfixedtransmitter" = "Använd flerpunktskalibrering?";
"settingsviews_labelNonFixed" = "Flerpunktskalibrering"; "settingsviews_labelNonFixed" = "Flerpunktskalibrering";
"settingsviews_sectiontitlealerting" = "Larm"; "settingsviews_sectiontitlealerting" = "Larm";

View File

@ -33,7 +33,7 @@
"settingsviews_transmitterid" = "Verici Kimliği"; "settingsviews_transmitterid" = "Verici Kimliği";
"settingsviews_transmitterid_text_for_button" = "Verici Kimliği"; "settingsviews_transmitterid_text_for_button" = "Verici Kimliği";
"settingsviews_givetransmitterid" = "Verici Kimliğine Gir"; "settingsviews_givetransmitterid" = "Verici Kimliğine Gir";
"settingsviews_resettransmitter" = "Vericiyi Sıfırla"; "settingsviews_resettransmitter" = "Vericiyi Sıfırla (Anubis)";
"settingsviews_webooptransmitter" = "Verici algorithması Kullanılsın mı?"; "settingsviews_webooptransmitter" = "Verici algorithması Kullanılsın mı?";
"settingsviews_nonfixedtransmitter" = "Çok Noktalı Kalibrasyon Etkinleştirilsin mi?"; "settingsviews_nonfixedtransmitter" = "Çok Noktalı Kalibrasyon Etkinleştirilsin mi?";
"settingsviews_labelNonFixed" = "Çok Noktalı Kalibrasyon"; "settingsviews_labelNonFixed" = "Çok Noktalı Kalibrasyon";

View File

@ -151,7 +151,7 @@
"settingsviews_nightScoutAPIKey" = "API_SECRET"; "settingsviews_nightScoutAPIKey" = "API_SECRET";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
/// home screen settings, should the main glucose chart screen be allowed? /// home screen settings, should the main glucose chart screen be allowed?
"settingsviews_allowScreenRotation" = "Allow Chart Rotation?"; "settingsviews_allowScreenRotation" = "Allow Chart Rotation?";

View File

@ -130,7 +130,7 @@
"m5stack_settingsviews_textColor" = "Text Color"; "m5stack_settingsviews_textColor" = "Text Color";
/// transmitter settings, to explain that settings is about resetting the transmitter /// transmitter settings, to explain that settings is about resetting the transmitter
"settingsviews_resettransmitter" = "Reset Transmitter"; "settingsviews_resettransmitter" = "Reset Transmitter (Anubis only)";
/// general settings, should reading be multiplied with 10 yes or no /// general settings, should reading be multiplied with 10 yes or no
"settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?"; "settingsviews_multipleAppBadgeValueWith10" = "Multiply App Badge Reading by 10?";

View File

@ -286,7 +286,11 @@ class Texts_SettingsView {
}() }()
static let labelResetTransmitter:String = { static let labelResetTransmitter:String = {
return NSLocalizedString("settingsviews_resettransmitter", tableName: filename, bundle: Bundle.main, value: "Reset Transmitter", comment: "transmitter settings, to explain that settings is about resetting the transmitter") return NSLocalizedString("settingsviews_resettransmitter", tableName: filename, bundle: Bundle.main, value: "Reset Transmitter (Anubis only)", comment: "transmitter settings, to explain that settings is about resetting the transmitter")
}()
static let resetDexcomTransmitterMessage: String = {
return NSLocalizedString("settingsviews_resetDexcomTransmitterMessage", tableName: filename, bundle: Bundle.main, value: "\nThis option will attempt to reset the transmitter on the next connection.\n\nNote that this will only work for G5 transmitters, very early G6 and all Anubis G6 transmitters.\n\nIt will NOT work for normal G6 or One transmitters.", comment: "transmitter settings, to explain that the reset option only works for certain transmitters")
}() }()
static let labelWebOOPTransmitter:String = { static let labelWebOOPTransmitter:String = {

View File

@ -15,17 +15,14 @@ fileprivate enum Setting:Int, CaseIterable {
/// the alias that user has given, possibly nil /// the alias that user has given, possibly nil
case alias = 1 case alias = 1
/// the address
case address = 2
/// the current connection status /// the current connection status
case connectionStatus = 3 case connectionStatus = 2
/// timestamp when connection changed to connected or not connected /// timestamp when connection changed to connected or not connected
case connectOrDisconnectTimeStamp = 4 case connectOrDisconnectTimeStamp = 3
/// transmitterID, only for devices that need it /// transmitterID, only for devices that need it
case transmitterId = 5 case transmitterId = 4
} }
@ -821,14 +818,14 @@ class BluetoothPeripheralViewController: UIViewController {
// unwrap bluetoothPeripheralManager // unwrap bluetoothPeripheralManager
guard let bluetoothPeripheralManager = bluetoothPeripheralManager else {return} guard let bluetoothPeripheralManager = bluetoothPeripheralManager else {return}
// textToAdd is either 'address' + the address, or 'alias' + the alias, depending if alias has a value // textToAdd is either the name, or 'alias' + the alias, depending if alias has a value
var textToAdd = Texts_BluetoothPeripheralView.address + " " + bluetoothPeripheral.blePeripheral.address var textToAdd = bluetoothPeripheral.blePeripheral.name
if let alias = bluetoothPeripheral.blePeripheral.alias { if let alias = bluetoothPeripheral.blePeripheral.alias {
textToAdd = Texts_BluetoothPeripheralView.bluetoothPeripheralAlias + " " + alias textToAdd = Texts_BluetoothPeripheralView.bluetoothPeripheralAlias + " " + alias
} }
// first ask user if ok to delete and if yes delete // first ask user if ok to delete and if yes delete
let alert = UIAlertController(title: Texts_BluetoothPeripheralView.confirmDeletionBluetoothPeripheral + " " + textToAdd + "?", message: nil, actionHandler: { let alert = UIAlertController(title: Texts_Common.delete , message: Texts_BluetoothPeripheralView.confirmDeletionBluetoothPeripheral + " " + textToAdd + "?", actionHandler: {
// in case it's a Libre2 CGM, libre1DerivedAlgorithmParameters has a non nil value. When deleting the transmitter, by setting to nil, this will ensure that user first need to do a successful NFC scan. // in case it's a Libre2 CGM, libre1DerivedAlgorithmParameters has a non nil value. When deleting the transmitter, by setting to nil, this will ensure that user first need to do a successful NFC scan.
if let bluetoothTransmitter = bluetoothPeripheralManager.getBluetoothTransmitter(for: bluetoothPeripheral, createANewOneIfNecesssary: false), bluetoothTransmitter is CGMTransmitter { if let bluetoothTransmitter = bluetoothPeripheralManager.getBluetoothTransmitter(for: bluetoothPeripheral, createANewOneIfNecesssary: false), bluetoothTransmitter is CGMTransmitter {
@ -1265,17 +1262,6 @@ extension BluetoothPeripheralViewController: UITableViewDataSource, UITableViewD
cell.detailTextLabel?.text = bluetoothPeripheral?.blePeripheral.name cell.detailTextLabel?.text = bluetoothPeripheral?.blePeripheral.name
cell.accessoryType = .none cell.accessoryType = .none
case .address:
cell.textLabel?.text = Texts_BluetoothPeripheralView.address
cell.detailTextLabel?.text = bluetoothPeripheral?.blePeripheral.address
if cell.detailTextLabel?.text == nil {
cell.accessoryType = .none
} else {
cell.accessoryType = .disclosureIndicator
cell.accessoryView = disclosureAccessoryView
}
case .connectionStatus: case .connectionStatus:
cell.textLabel?.text = Texts_BluetoothPeripheralView.status cell.textLabel?.text = Texts_BluetoothPeripheralView.status
@ -1478,14 +1464,6 @@ extension BluetoothPeripheralViewController: UITableViewDataSource, UITableViewD
switch setting { switch setting {
case .address:
guard let bluetoothPeripheral = bluetoothPeripheral else {return}
let alert = UIAlertController(title: Texts_BluetoothPeripheralView.address, message: bluetoothPeripheral.blePeripheral.address, actionHandler: nil)
// present the alert
self.present(alert, animated: true, completion: nil)
case .name, .connectionStatus: case .name, .connectionStatus:
break break

View File

@ -1,6 +1,7 @@
import Foundation import Foundation
import UIKit import UIKit
import CoreBluetooth import CoreBluetooth
import os
class DexcomG5BluetoothPeripheralViewModel { class DexcomG5BluetoothPeripheralViewModel {
@ -43,12 +44,6 @@ class DexcomG5BluetoothPeripheralViewModel {
case voltageA = 0 case voltageA = 0
case voltageB = 1 case voltageB = 1
case batteryRuntime = 2
case batteryTemperature = 3
case batteryResist = 4
} }
@ -329,25 +324,30 @@ extension DexcomG5BluetoothPeripheralViewModel: BluetoothPeripheralViewModel {
// set isOn value to cGMG5Transmitter // set isOn value to cGMG5Transmitter
cGMG5Transmitter.reset(requested: isOn) cGMG5Transmitter.reset(requested: isOn)
if isOn {
// define and present alertcontroller, this will show a message to explain that the reset function only works with certain transmitters
let alert = UIAlertController(title: Texts_BluetoothPeripheralView.resetRequired, message: Texts_SettingsView.resetDexcomTransmitterMessage, actionHandler: nil)
self.bluetoothPeripheralViewController?.present(alert, animated: true, completion: nil)
}
} }
}) })
case .lastResetTimeStamp: case .lastResetTimeStamp:
cell.textLabel?.text = Texts_BluetoothPeripheralView.lastResetTimeStamp
if let lastResetTimeStamp = dexcomG5.lastResetTimeStamp { if let lastResetTimeStamp = dexcomG5.lastResetTimeStamp {
cell.textLabel?.text = Texts_BluetoothPeripheralView.lastResetTimeStamp
cell.detailTextLabel?.text = lastResetTimeStamp.toStringInUserLocale(timeStyle: .short, dateStyle: .short) cell.detailTextLabel?.text = lastResetTimeStamp.toStringInUserLocale(timeStyle: .short, dateStyle: .short)
cell.accessoryType = .none
} else { } else {
cell.detailTextLabel?.text = Texts_Common.unknown
cell.textLabel?.text = Texts_BluetoothPeripheralView.lastResetTimeStampNotKnown
cell.detailTextLabel?.text = nil
cell.accessoryType = .none
} }
cell.accessoryType = .none
} }
@ -384,21 +384,6 @@ extension DexcomG5BluetoothPeripheralViewModel: BluetoothPeripheralViewModel {
cell.detailTextLabel?.text = dexcomG5.voltageB != 0 ? dexcomBatteryLevelIndicator + dexcomG5.voltageB.description + "0 mV" : "" cell.detailTextLabel?.text = dexcomG5.voltageB != 0 ? dexcomBatteryLevelIndicator + dexcomG5.voltageB.description + "0 mV" : ""
case .batteryResist:
cell.textLabel?.text = "Resistance"
cell.detailTextLabel?.text = dexcomG5.batteryResist != 0 ? dexcomG5.batteryResist.description : ""
case .batteryRuntime:
cell.textLabel?.text = "Runtime"
cell.detailTextLabel?.text = dexcomG5.batteryRuntime != 0 ? ( dexcomG5.batteryRuntime != -1 ? dexcomG5.batteryRuntime.description : "n/a" ) : ""
case .batteryTemperature:
cell.textLabel?.text = "Temperature"
cell.detailTextLabel?.text = dexcomG5.batteryTemperature != 0 ? dexcomG5.batteryTemperature.description : ""
} }
} }
@ -409,42 +394,51 @@ extension DexcomG5BluetoothPeripheralViewModel: BluetoothPeripheralViewModel {
guard let setting = Settings(rawValue: rawValue) else { fatalError("DexcomG5BluetoothPeripheralViewModel userDidSelectRow, unexpected setting") } guard let setting = Settings(rawValue: rawValue) else { fatalError("DexcomG5BluetoothPeripheralViewModel userDidSelectRow, unexpected setting") }
switch setting { // just show select row actions for the general dexcom section
switch section {
case .sensorStatus: case 1:
// firmware text could be longer than screen width, clicking the row allos to see it in pop up with more text place switch setting {
if let sensorStatus = dexcomG5?.sensorStatus {
return .showInfoText(title: Texts_Common.sensorStatus, message: "\n" + sensorStatus)
}
case .sensorStartDate:
if let startDate = dexcomG5?.sensorStartDate {
var startDateString = startDate.toStringInUserLocale(timeStyle: .short, dateStyle: .short) case .sensorStatus:
startDateString += "\n\n" + startDate.daysAndHoursAgo() + " " + Texts_HomeView.ago // firmware text could be longer than screen width, clicking the row allos to see it in pop up with more text place
if let sensorStatus = dexcomG5?.sensorStatus {
return .showInfoText(title: Texts_Common.sensorStatus, message: "\n" + sensorStatus)
}
return .showInfoText(title: Texts_BluetoothPeripheralView.sensorStartDate, message: "\n" + startDateString) case .sensorStartDate:
if let startDate = dexcomG5?.sensorStartDate {
var startDateString = startDate.toStringInUserLocale(timeStyle: .short, dateStyle: .short)
startDateString += "\n\n" + startDate.daysAndHoursAgo() + " " + Texts_HomeView.ago
return .showInfoText(title: Texts_BluetoothPeripheralView.sensorStartDate, message: "\n" + startDateString)
}
case .transmitterStartDate:
if let startDate = dexcomG5?.transmitterStartDate {
var startDateString = startDate.toStringInUserLocale(timeStyle: .short, dateStyle: .short)
startDateString += "\n\n" + startDate.daysAndHoursAgo() + " " + Texts_HomeView.ago
return .showInfoText(title: Texts_BluetoothPeripheralView.transmittterStartDate, message: "\n" + startDateString)
}
case .firmWareVersion, .userOtherApp:
return .nothing
} }
case .transmitterStartDate: default:
if let startDate = dexcomG5?.transmitterStartDate {
var startDateString = startDate.toStringInUserLocale(timeStyle: .short, dateStyle: .short)
startDateString += "\n\n" + startDate.daysAndHoursAgo() + " " + Texts_HomeView.ago
return .showInfoText(title: Texts_BluetoothPeripheralView.transmittterStartDate, message: "\n" + startDateString)
}
case .firmWareVersion, .userOtherApp:
return .nothing return .nothing
} }
return .nothing return .nothing
@ -470,16 +464,8 @@ extension DexcomG5BluetoothPeripheralViewModel: BluetoothPeripheralViewModel {
} }
func numberOfSections() -> Int { func numberOfSections() -> Int {
if isFireFly() {
return DexcomSection.allCases.count - 1 return DexcomSection.allCases.count
} else {
return DexcomSection.allCases.count
}
} }
@ -586,3 +572,4 @@ extension DexcomG5BluetoothPeripheralViewModel: CGMG5TransmitterDelegate {
} }
} }