Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions app/lib/backend/http/api/device.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,18 @@ Future<Map> getLatestFirmwareVersion({

return jsonDecode(res.body);
}

Future<Map> getStableFirmwareVersion({required String deviceModelNumber}) async {
var res = await makeApiCall(
url: "${Env.apiBaseUrl}v2/firmware/stable?device_model=$deviceModelNumber",
headers: {},
body: '',
method: 'GET',
);

if (res == null || res.statusCode != 200) {
return {};
}

return jsonDecode(res.body);
}
8 changes: 8 additions & 0 deletions app/lib/l10n/app_ar.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2876,6 +2876,14 @@
"fair": "مقبول",
"weak": "ضعيف",
"gattError": "خطأ GATT ({code})",
"rollbackToStableFirmware": "الرجوع إلى البرنامج الثابت المستقر",
"rollbackConfirmTitle": "الرجوع إلى البرنامج الثابت؟",
"rollbackConfirmMessage": "سيتم استبدال البرنامج الثابت الحالي بأحدث إصدار مستقر ({version}). سيتم إعادة تشغيل جهازك بعد التحديث.",
"stableFirmware": "البرنامج الثابت المستقر",
"fetchingStableFirmware": "جارٍ جلب أحدث برنامج ثابت مستقر...",
"noStableFirmwareFound": "تعذر العثور على إصدار مستقر من البرنامج الثابت لجهازك.",
"installStableFirmware": "تثبيت البرنامج الثابت المستقر",
"alreadyOnStableFirmware": "أنت بالفعل على أحدث إصدار مستقر.",
"audioSavedLocally": "تم حفظ {duration} من الصوت محليًا",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_bg.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2878,6 +2878,14 @@
"fair": "Задоволително",
"weak": "Слабо",
"gattError": "GATT грешка ({code})",
"rollbackToStableFirmware": "Връщане към стабилен фърмуер",
"rollbackConfirmTitle": "Връщане на фърмуера?",
"rollbackConfirmMessage": "Това ще замени текущия фърмуер с последната стабилна версия ({version}). Устройството ви ще се рестартира след актуализацията.",
"stableFirmware": "Стабилен фърмуер",
"fetchingStableFirmware": "Извличане на последния стабилен фърмуер...",
"noStableFirmwareFound": "Не може да се намери стабилна версия на фърмуера за вашето устройство.",
"installStableFirmware": "Инсталиране на стабилен фърмуер",
"alreadyOnStableFirmware": "Вече сте на последната стабилна версия.",
"audioSavedLocally": "{duration} аудио запазено локално",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_ca.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2878,6 +2878,14 @@
"fair": "Acceptable",
"weak": "Feble",
"gattError": "Error GATT ({code})",
"rollbackToStableFirmware": "Tornar al firmware estable",
"rollbackConfirmTitle": "Tornar al firmware?",
"rollbackConfirmMessage": "Això substituirà el firmware actual amb la darrera versió estable ({version}). El dispositiu es reiniciarà després de l'actualització.",
"stableFirmware": "Firmware estable",
"fetchingStableFirmware": "Obtenint el darrer firmware estable...",
"noStableFirmwareFound": "No s'ha pogut trobar una versió estable del firmware per al vostre dispositiu.",
"installStableFirmware": "Instal·lar firmware estable",
"alreadyOnStableFirmware": "Ja esteu a la darrera versió estable.",
"audioSavedLocally": "{duration} d'àudio desat localment",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_cs.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2878,6 +2878,14 @@
"fair": "Uspokojivé",
"weak": "Slabé",
"gattError": "Chyba GATT ({code})",
"rollbackToStableFirmware": "Vrátit se na stabilní firmware",
"rollbackConfirmTitle": "Vrátit firmware?",
"rollbackConfirmMessage": "Tím se nahradí aktuální firmware nejnovější stabilní verzí ({version}). Po aktualizaci se zařízení restartuje.",
"stableFirmware": "Stabilní firmware",
"fetchingStableFirmware": "Načítání nejnovějšího stabilního firmwaru...",
"noStableFirmwareFound": "Nepodařilo se najít stabilní verzi firmwaru pro vaše zařízení.",
"installStableFirmware": "Nainstalovat stabilní firmware",
"alreadyOnStableFirmware": "Již máte nejnovější stabilní verzi.",
"audioSavedLocally": "{duration} zvuku uloženo lokálně",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_da.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2918,6 +2918,14 @@
"fair": "Rimelig",
"weak": "Svag",
"gattError": "GATT-fejl ({code})",
"rollbackToStableFirmware": "Rul tilbage til stabil firmware",
"rollbackConfirmTitle": "Rul firmware tilbage?",
"rollbackConfirmMessage": "Dette vil erstatte din nuværende firmware med den seneste stabile version ({version}). Din enhed genstarter efter opdateringen.",
"stableFirmware": "Stabil firmware",
"fetchingStableFirmware": "Henter seneste stabile firmware...",
"noStableFirmwareFound": "Kunne ikke finde en stabil firmwareversion til din enhed.",
"installStableFirmware": "Installer stabil firmware",
"alreadyOnStableFirmware": "Du er allerede på den seneste stabile version.",
"audioSavedLocally": "{duration} lyd gemt lokalt",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_de.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2877,6 +2877,14 @@
"fair": "Befriedigend",
"weak": "Schwach",
"gattError": "GATT-Fehler ({code})",
"rollbackToStableFirmware": "Auf stabile Firmware zurücksetzen",
"rollbackConfirmTitle": "Firmware zurücksetzen?",
"rollbackConfirmMessage": "Dies ersetzt Ihre aktuelle Firmware durch die neueste stabile Version ({version}). Ihr Gerät wird nach dem Update neu gestartet.",
"stableFirmware": "Stabile Firmware",
"fetchingStableFirmware": "Neueste stabile Firmware wird abgerufen...",
"noStableFirmwareFound": "Es konnte keine stabile Firmware-Version für Ihr Gerät gefunden werden.",
"installStableFirmware": "Stabile Firmware installieren",
"alreadyOnStableFirmware": "Sie verwenden bereits die neueste stabile Version.",
"audioSavedLocally": "{duration} Audio lokal gespeichert",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_el.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2909,6 +2909,14 @@
"fair": "Μέτριο",
"weak": "Αδύναμο",
"gattError": "Σφάλμα GATT ({code})",
"rollbackToStableFirmware": "Επαναφορά σε σταθερό firmware",
"rollbackConfirmTitle": "Επαναφορά firmware;",
"rollbackConfirmMessage": "Αυτό θα αντικαταστήσει το τρέχον firmware με την τελευταία σταθερή έκδοση ({version}). Η συσκευή σας θα επανεκκινηθεί μετά την ενημέρωση.",
"stableFirmware": "Σταθερό firmware",
"fetchingStableFirmware": "Ανάκτηση τελευταίου σταθερού firmware...",
"noStableFirmwareFound": "Δεν βρέθηκε σταθερή έκδοση firmware για τη συσκευή σας.",
"installStableFirmware": "Εγκατάσταση σταθερού firmware",
"alreadyOnStableFirmware": "Χρησιμοποιείτε ήδη την τελευταία σταθερή έκδοση.",
"audioSavedLocally": "{duration} ήχου αποθηκεύτηκε τοπικά",
"@audioSavedLocally": {
"placeholders": {
Expand Down
37 changes: 37 additions & 0 deletions app/lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -10682,6 +10682,43 @@
}
}
},
"rollbackToStableFirmware": "Roll Back to Stable Firmware",
"@rollbackToStableFirmware": {
"description": "Action item title for rolling back to the latest stable firmware version"
},
"rollbackConfirmTitle": "Roll Back Firmware?",
"@rollbackConfirmTitle": {
"description": "Confirmation dialog title for firmware rollback"
},
"rollbackConfirmMessage": "This will replace your current firmware with the latest stable version ({version}). Your device will restart after the update.",
"@rollbackConfirmMessage": {
"description": "Confirmation dialog message for firmware rollback",
"placeholders": {
"version": {
"type": "String"
}
}
},
"stableFirmware": "Stable Firmware",
"@stableFirmware": {
"description": "Title for the stable firmware rollback page"
},
"fetchingStableFirmware": "Fetching latest stable firmware...",
"@fetchingStableFirmware": {
"description": "Loading text while fetching stable firmware version"
},
"noStableFirmwareFound": "Could not find a stable firmware version for your device.",
"@noStableFirmwareFound": {
"description": "Error message when no stable firmware is available"
},
"installStableFirmware": "Install Stable Firmware",
"@installStableFirmware": {
"description": "Button text to install the stable firmware"
},
"alreadyOnStableFirmware": "You are already on the latest stable version.",
"@alreadyOnStableFirmware": {
"description": "Message when device is already on the latest stable firmware"
},
"audioSavedLocally": "{duration} audio saved locally",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_es.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2910,6 +2910,14 @@
"fair": "Aceptable",
"weak": "Débil",
"gattError": "Error GATT ({code})",
"rollbackToStableFirmware": "Volver al firmware estable",
"rollbackConfirmTitle": "¿Volver al firmware?",
"rollbackConfirmMessage": "Esto reemplazará tu firmware actual con la última versión estable ({version}). Tu dispositivo se reiniciará después de la actualización.",
"stableFirmware": "Firmware estable",
"fetchingStableFirmware": "Obteniendo el último firmware estable...",
"noStableFirmwareFound": "No se pudo encontrar una versión estable del firmware para tu dispositivo.",
"installStableFirmware": "Instalar firmware estable",
"alreadyOnStableFirmware": "Ya estás en la última versión estable.",
"audioSavedLocally": "{duration} de audio guardado localmente",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_et.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2909,6 +2909,14 @@
"fair": "Rahuldav",
"weak": "Nõrk",
"gattError": "GATT viga ({code})",
"rollbackToStableFirmware": "Tagasi stabiilsele püsivarale",
"rollbackConfirmTitle": "Taastada püsivara?",
"rollbackConfirmMessage": "See asendab teie praeguse püsivara uusima stabiilse versiooniga ({version}). Teie seade taaskäivitub pärast värskendust.",
"stableFirmware": "Stabiilne püsivara",
"fetchingStableFirmware": "Uusima stabiilse püsivara toomine...",
"noStableFirmwareFound": "Teie seadmele ei leitud stabiilset püsivara versiooni.",
"installStableFirmware": "Paigalda stabiilne püsivara",
"alreadyOnStableFirmware": "Teil on juba uusim stabiilne versioon.",
"audioSavedLocally": "{duration} heli salvestatud kohapeal",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_fi.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2909,6 +2909,14 @@
"fair": "Kohtalainen",
"weak": "Heikko",
"gattError": "GATT-virhe ({code})",
"rollbackToStableFirmware": "Palaa vakaaseen laiteohjelmistoon",
"rollbackConfirmTitle": "Palauta laiteohjelmisto?",
"rollbackConfirmMessage": "Tämä korvaa nykyisen laiteohjelmiston uusimmalla vakaalla versiolla ({version}). Laitteesi käynnistyy uudelleen päivityksen jälkeen.",
"stableFirmware": "Vakaa laiteohjelmisto",
"fetchingStableFirmware": "Haetaan uusinta vakaata laiteohjelmistoa...",
"noStableFirmwareFound": "Laitteellesi ei löytynyt vakaata laiteohjelmistoversiota.",
"installStableFirmware": "Asenna vakaa laiteohjelmisto",
"alreadyOnStableFirmware": "Sinulla on jo uusin vakaa versio.",
"audioSavedLocally": "{duration} ääntä tallennettu paikallisesti",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2944,6 +2944,14 @@
"fair": "Passable",
"weak": "Faible",
"gattError": "Erreur GATT ({code})",
"rollbackToStableFirmware": "Revenir au firmware stable",
"rollbackConfirmTitle": "Revenir au firmware ?",
"rollbackConfirmMessage": "Cela remplacera votre firmware actuel par la dernière version stable ({version}). Votre appareil redémarrera après la mise à jour.",
"stableFirmware": "Firmware stable",
"fetchingStableFirmware": "Récupération du dernier firmware stable...",
"noStableFirmwareFound": "Impossible de trouver une version stable du firmware pour votre appareil.",
"installStableFirmware": "Installer le firmware stable",
"alreadyOnStableFirmware": "Vous êtes déjà sur la dernière version stable.",
"audioSavedLocally": "{duration} d'audio enregistré localement",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_hi.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2910,6 +2910,14 @@
"fair": "ठीक",
"weak": "कमज़ोर",
"gattError": "GATT त्रुटि ({code})",
"rollbackToStableFirmware": "स्थिर फ़र्मवेयर पर वापस जाएँ",
"rollbackConfirmTitle": "फ़र्मवेयर वापस लाएँ?",
"rollbackConfirmMessage": "यह आपके वर्तमान फ़र्मवेयर को नवीनतम स्थिर संस्करण ({version}) से बदल देगा। अपडेट के बाद आपका डिवाइस पुनः आरंभ होगा।",
"stableFirmware": "स्थिर फ़र्मवेयर",
"fetchingStableFirmware": "नवीनतम स्थिर फ़र्मवेयर प्राप्त किया जा रहा है...",
"noStableFirmwareFound": "आपके डिवाइस के लिए स्थिर फ़र्मवेयर संस्करण नहीं मिला।",
"installStableFirmware": "स्थिर फ़र्मवेयर इंस्टॉल करें",
"alreadyOnStableFirmware": "आप पहले से नवीनतम स्थिर संस्करण पर हैं।",
"audioSavedLocally": "{duration} ऑडियो स्थानीय रूप से सहेजा गया",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_hu.arb
Original file line number Diff line number Diff line change
Expand Up @@ -3005,6 +3005,14 @@
"fair": "Elfogadható",
"weak": "Gyenge",
"gattError": "GATT hiba ({code})",
"rollbackToStableFirmware": "Visszaállítás stabil firmware-re",
"rollbackConfirmTitle": "Firmware visszaállítása?",
"rollbackConfirmMessage": "Ez lecseréli a jelenlegi firmware-t a legújabb stabil verzióra ({version}). Az eszköz a frissítés után újraindul.",
"stableFirmware": "Stabil firmware",
"fetchingStableFirmware": "Legújabb stabil firmware lekérése...",
"noStableFirmwareFound": "Nem található stabil firmware verzió az eszközéhez.",
"installStableFirmware": "Stabil firmware telepítése",
"alreadyOnStableFirmware": "Már a legújabb stabil verzión van.",
"audioSavedLocally": "{duration} hang helyben mentve",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_id.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2951,6 +2951,14 @@
"fair": "Cukup",
"weak": "Lemah",
"gattError": "Kesalahan GATT ({code})",
"rollbackToStableFirmware": "Kembali ke firmware stabil",
"rollbackConfirmTitle": "Kembalikan firmware?",
"rollbackConfirmMessage": "Ini akan mengganti firmware Anda saat ini dengan versi stabil terbaru ({version}). Perangkat Anda akan dimulai ulang setelah pembaruan.",
"stableFirmware": "Firmware Stabil",
"fetchingStableFirmware": "Mengambil firmware stabil terbaru...",
"noStableFirmwareFound": "Tidak dapat menemukan versi firmware stabil untuk perangkat Anda.",
"installStableFirmware": "Pasang firmware stabil",
"alreadyOnStableFirmware": "Anda sudah menggunakan versi stabil terbaru.",
"audioSavedLocally": "{duration} audio disimpan secara lokal",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_it.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2909,6 +2909,14 @@
"fair": "Discreto",
"weak": "Debole",
"gattError": "Errore GATT ({code})",
"rollbackToStableFirmware": "Torna al firmware stabile",
"rollbackConfirmTitle": "Tornare al firmware?",
"rollbackConfirmMessage": "Questo sostituirà il firmware attuale con l'ultima versione stabile ({version}). Il dispositivo si riavvierà dopo l'aggiornamento.",
"stableFirmware": "Firmware stabile",
"fetchingStableFirmware": "Recupero dell'ultimo firmware stabile...",
"noStableFirmwareFound": "Impossibile trovare una versione stabile del firmware per il tuo dispositivo.",
"installStableFirmware": "Installa firmware stabile",
"alreadyOnStableFirmware": "Sei già sull'ultima versione stabile.",
"audioSavedLocally": "{duration} di audio salvato localmente",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_ja.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2910,6 +2910,14 @@
"fair": "普通",
"weak": "弱い",
"gattError": "GATTエラー ({code})",
"rollbackToStableFirmware": "安定版ファームウェアに戻す",
"rollbackConfirmTitle": "ファームウェアを戻しますか?",
"rollbackConfirmMessage": "現在のファームウェアが最新の安定版({version})に置き換えられます。更新後、デバイスは再起動します。",
"stableFirmware": "安定版ファームウェア",
"fetchingStableFirmware": "最新の安定版ファームウェアを取得中...",
"noStableFirmwareFound": "お使いのデバイスに対応する安定版ファームウェアが見つかりませんでした。",
"installStableFirmware": "安定版ファームウェアをインストール",
"alreadyOnStableFirmware": "すでに最新の安定版を使用しています。",
"audioSavedLocally": "{duration} の音声をローカルに保存しました",
"@audioSavedLocally": {
"placeholders": {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_ko.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2909,6 +2909,14 @@
"fair": "보통",
"weak": "약함",
"gattError": "GATT 오류 ({code})",
"rollbackToStableFirmware": "안정 펌웨어로 롤백",
"rollbackConfirmTitle": "펌웨어를 롤백하시겠습니까?",
"rollbackConfirmMessage": "현재 펌웨어가 최신 안정 버전({version})으로 교체됩니다. 업데이트 후 기기가 재시작됩니다.",
"stableFirmware": "안정 펌웨어",
"fetchingStableFirmware": "최신 안정 펌웨어를 가져오는 중...",
"noStableFirmwareFound": "기기에 맞는 안정 펌웨어 버전을 찾을 수 없습니다.",
"installStableFirmware": "안정 펌웨어 설치",
"alreadyOnStableFirmware": "이미 최신 안정 버전을 사용 중입니다.",
"audioSavedLocally": "{duration} 오디오가 로컬에 저장됨",
"@audioSavedLocally": {
"placeholders": {
Expand Down
Loading
Loading