From e05d57a32c9d9c4b4bebad8cb3de15f1a172bfd0 Mon Sep 17 00:00:00 2001 From: eddy Date: Thu, 30 Jul 2026 17:37:05 +0200 Subject: [PATCH] fix: detecteer ontbrekende OTA characteristic en toon USB-flash melding --- .../app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt | 4 ++++ .../app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt | 4 ++++ android/app/src/main/res/values/strings.xml | 1 + 3 files changed, 9 insertions(+) diff --git a/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt index f57eca9..fa9a970 100644 --- a/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt @@ -197,6 +197,10 @@ class BleRelayManager( val gatt = bluetoothGatt ?: return false return gatt.setCharacteristicNotification(char, true) } + + fun hasOtaCharacteristic(): Boolean { + return otaCharacteristic != null + } fun updateKeys() { loadState() } diff --git a/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt index 50d37f4..e6d90ae 100644 --- a/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt @@ -215,6 +215,10 @@ class SettingsActivity : AppCompatActivity() { Toast.makeText(this, "Niet verbonden met SylDa_Server", Toast.LENGTH_SHORT).show() return } + if (!manager.hasOtaCharacteristic()) { + Toast.makeText(this, getString(R.string.ota_needs_usb_first), Toast.LENGTH_LONG).show() + return + } otaManager = OtaManager(this, manager) if (otaManager?.loadFirmware() != true) { diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 181cd4f..f2ee9c2 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -112,4 +112,5 @@ Update voltooid! ESP herstart... OTA update mislukt: %s Kan firmware bestand niet laden + Module heeft nog geen OTA-ondersteuning — eerst flashen via USB