diff options
Diffstat (limited to 'app/pebblefirmware.cpp')
| -rw-r--r-- | app/pebblefirmware.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/app/pebblefirmware.cpp b/app/pebblefirmware.cpp index 33460e5..e3bbc5a 100644 --- a/app/pebblefirmware.cpp +++ b/app/pebblefirmware.cpp @@ -16,16 +16,28 @@ PebbleFirmware::PebbleFirmware(QObject *parent) : void PebbleFirmware::updateLatest(QString hw) { QNetworkRequest req; - req.setUrl(firmwareURL.arg(hw).arg(hw.startsWith("snowy_") ? "release-v3" : "release-v2")); + req.setUrl(firmwareURL.arg(hw).arg("release-v3.8")); req.setRawHeader("Cache-Control", "no-cache"); qDebug() << "Getting latest firmware" << req.url(); nm->get(req); } -void PebbleFirmware::fetchFirmware(QString type) +void PebbleFirmware::fetchFirmware(QString currVer) { + QJsonObject targetFirmware; + if (_latest.contains("3.x-migration") && currVer < "v3.0.0") { + targetFirmware = _latest.value("3.x-migration").toObject(); + } else if (currVer >= "v3.0.0" && + _latest.value("normal").toObject().value("friendlyVersion").toString() > currVer){ + targetFirmware = _latest.value("normal").toObject(); + } + + if (targetFirmware.isEmpty()) { + qDebug() << "Watch firmware is up to date"; + return; + } QNetworkRequest req; - req.setUrl(_latest.value(type).toObject().value("url").toString()); + req.setUrl(targetFirmware.value("url").toString()); req.setRawHeader("Cache-Control", "no-cache"); qDebug() << "Fetching firmware" << req.url(); nm->get(req); |
