diff --git a/Meshtastic/Helpers/BLEManager.swift b/Meshtastic/Helpers/BLEManager.swift index 8ab8179a..e1cfff53 100644 --- a/Meshtastic/Helpers/BLEManager.swift +++ b/Meshtastic/Helpers/BLEManager.swift @@ -827,22 +827,23 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject { } } - public func sendShutdown(fromUser: UserEntity, toUser: UserEntity) -> Bool { + public func sendShutdown(fromUser: UserEntity, toUser: UserEntity, adminIndex: Int32) -> Bool { var adminPacket = AdminMessage() - adminPacket.shutdownSeconds = 10 + adminPacket.shutdownSeconds = 5 var meshPacket: MeshPacket = MeshPacket() meshPacket.to = UInt32(toUser.num) meshPacket.from = UInt32(fromUser.num) meshPacket.id = UInt32.random(in: UInt32(UInt8.max).. Bool { + public func sendReboot(fromUser: UserEntity, toUser: UserEntity, adminIndex: Int32) -> Bool { var adminPacket = AdminMessage() - adminPacket.rebootSeconds = 10 + adminPacket.rebootSeconds = 5 var meshPacket: MeshPacket = MeshPacket() meshPacket.to = UInt32(toUser.num) @@ -861,13 +862,13 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject { meshPacket.id = UInt32.random(in: UInt32(UInt8.max).. Bluetooth.", - isPresented: $isPresentingFactoryResetConfirm, - titleVisibility: .visible - ) { - Button("Factory reset your device and app? ", role: .destructive) { - - if bleManager.sendFactoryReset(fromUser: node!.user!, toUser: node!.user!) { - bleManager.disconnectPeripheral() - clearCoreDataDatabase(context: context) - } else { - print("Factory Reset Failed") + Button("Factory Reset", role: .destructive) { + isPresentingFactoryResetConfirm = true + } + .disabled(node?.user == nil) + .buttonStyle(.bordered) + .buttonBorderShape(.capsule) + .controlSize(.large) + .padding() + .confirmationDialog( + "All device and app data will be deleted. You will also need to forget your devices under Settings > Bluetooth.", + isPresented: $isPresentingFactoryResetConfirm, + titleVisibility: .visible + ) { + Button("Factory reset your device and app? ", role: .destructive) { + if bleManager.sendFactoryReset(fromUser: node!.user!, toUser: node!.user!) { + bleManager.disconnectPeripheral() + clearCoreDataDatabase(context: context) + } else { + print("Factory Reset Failed") + + } } } } } - HStack { Button {