kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
refactor: remove unused firmware update code
rodzic
9a810885da
commit
e9248c9440
|
@ -109,10 +109,6 @@ class MeshService : Service(), Logging {
|
||||||
class NoDeviceConfigException(message: String = "No radio settings received (is our app too old?)") :
|
class NoDeviceConfigException(message: String = "No radio settings received (is our app too old?)") :
|
||||||
RadioNotConnectedException(message)
|
RadioNotConnectedException(message)
|
||||||
|
|
||||||
/** We treat software update as similar to loss of comms to the regular bluetooth service (so things like sendPosition for background GPS ignores the problem */
|
|
||||||
class IsUpdatingException :
|
|
||||||
RadioNotConnectedException("Operation prohibited during firmware update")
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Talk to our running service and try to set a new device address. And then immediately
|
* Talk to our running service and try to set a new device address. And then immediately
|
||||||
* call start on the service to possibly promote our service to be a foreground service.
|
* call start on the service to possibly promote our service to be a foreground service.
|
||||||
|
@ -213,10 +209,6 @@ class MeshService : Service(), Logging {
|
||||||
debug("Sending to radio ${built.toPIIString()}")
|
debug("Sending to radio ${built.toPIIString()}")
|
||||||
val b = built.toByteArray()
|
val b = built.toByteArray()
|
||||||
|
|
||||||
if (false) { // TODO check if radio is updating
|
|
||||||
throw IsUpdatingException()
|
|
||||||
}
|
|
||||||
|
|
||||||
radioInterfaceService.sendToRadio(b)
|
radioInterfaceService.sendToRadio(b)
|
||||||
changeStatus(p.packet.id, MessageStatus.ENROUTE)
|
changeStatus(p.packet.id, MessageStatus.ENROUTE)
|
||||||
|
|
||||||
|
@ -1555,18 +1547,6 @@ class MeshService : Service(), Logging {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun requestConfig(config: AdminProtos.AdminMessage.ConfigType) {
|
|
||||||
sendToRadio(newMeshPacketTo(myNodeNum).buildAdminPacket(wantResponse = true) {
|
|
||||||
getConfigRequest = config
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun requestAllConfig() {
|
|
||||||
AdminProtos.AdminMessage.ConfigType.entries.filter {
|
|
||||||
it != AdminProtos.AdminMessage.ConfigType.UNRECOGNIZED
|
|
||||||
}.forEach(::requestConfig)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the modern (REV2) API configuration flow
|
* Start the modern (REV2) API configuration flow
|
||||||
*/
|
*/
|
||||||
|
@ -1657,50 +1637,6 @@ class MeshService : Service(), Logging {
|
||||||
return ((currentPacketId % numPacketIds) + 1L).toInt()
|
return ((currentPacketId % numPacketIds) + 1L).toInt()
|
||||||
}
|
}
|
||||||
|
|
||||||
private var firmwareUpdateFilename: UpdateFilenames? = null
|
|
||||||
|
|
||||||
/***
|
|
||||||
* Return the filename we will install on the device
|
|
||||||
*/
|
|
||||||
private fun setFirmwareUpdateFilename(model: String?) {
|
|
||||||
firmwareUpdateFilename = try {
|
|
||||||
if (model != null)
|
|
||||||
// TODO reimplement this after we have a new firmware update mechanism
|
|
||||||
null
|
|
||||||
else
|
|
||||||
null
|
|
||||||
} catch (ex: Exception) {
|
|
||||||
errormsg("Unable to update", ex)
|
|
||||||
null
|
|
||||||
}
|
|
||||||
|
|
||||||
debug("setFirmwareUpdateFilename $firmwareUpdateFilename")
|
|
||||||
}
|
|
||||||
|
|
||||||
/// We only allow one update to be running at a time
|
|
||||||
private var updateJob: Job? = null
|
|
||||||
|
|
||||||
private fun doFirmwareUpdate() {
|
|
||||||
// Run in the IO thread
|
|
||||||
val filename = firmwareUpdateFilename ?: throw Exception("No update filename")
|
|
||||||
val safe =
|
|
||||||
BluetoothInterface.safe
|
|
||||||
?: throw Exception("Can't update - no bluetooth connected")
|
|
||||||
|
|
||||||
if (updateJob?.isActive == true) {
|
|
||||||
errormsg("A firmware update is already running")
|
|
||||||
throw Exception("Firmware update already running")
|
|
||||||
} else {
|
|
||||||
debug("Creating firmware update coroutine")
|
|
||||||
updateJob = serviceScope.handledLaunch {
|
|
||||||
exceptionReporter {
|
|
||||||
debug("Starting firmware update coroutine")
|
|
||||||
// TODO perform update with new firmware update mechanism
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun enqueueForSending(p: DataPacket) {
|
private fun enqueueForSending(p: DataPacket) {
|
||||||
if (p.dataType in rememberDataType) {
|
if (p.dataType in rememberDataType) {
|
||||||
offlineSentPackets.add(p)
|
offlineSentPackets.add(p)
|
||||||
|
@ -1728,10 +1664,10 @@ class MeshService : Service(), Logging {
|
||||||
clientPackages[receiverName] = packageName
|
clientPackages[receiverName] = packageName
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getUpdateStatus(): Int = -4 // TODO reimplement this after we have a new firmware update mechanism
|
override fun getUpdateStatus(): Int = -4 // ProgressNotStarted
|
||||||
|
|
||||||
override fun startFirmwareUpdate() = toRemoteExceptions {
|
override fun startFirmwareUpdate() = toRemoteExceptions {
|
||||||
doFirmwareUpdate()
|
// TODO reimplement this after we have a new firmware update mechanism
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getMyNodeInfo(): MyNodeInfo? = this@MeshService.myNodeInfo
|
override fun getMyNodeInfo(): MyNodeInfo? = this@MeshService.myNodeInfo
|
||||||
|
|
Ładowanie…
Reference in New Issue