From d6d6f6674a976de2d75fe7c83de412d82ce31c3b Mon Sep 17 00:00:00 2001 From: eddy Date: Wed, 29 Jul 2026 22:56:40 +0200 Subject: [PATCH 1/2] Combined flash + key exchange flow with version check and USB permission persistence - Firmware: add VERSION? command returning BUILD_NR for version check - Android: flash button checks firmware version first, skips flash if current - After flash: auto key exchange via reboot detection (expectingReboot flag) - device_filter.xml + intent-filter: USB permission 'always allow' checkbox - singleTop + onNewIntent prevents unwanted SettingsActivity launch on USB connect - platformio.ini: upload_port updated to /dev/ttyACM1 --- android/app/src/main/AndroidManifest.xml | 11 ++- .../app/src/main/assets/firmware/firmware.bin | Bin 535104 -> 535184 bytes .../com/eddy/atomrelay/SettingsActivity.kt | 76 +++++++++++++++--- android/app/src/main/res/values/strings.xml | 4 +- .../app/src/main/res/xml/device_filter.xml | 4 + platformio.ini | 2 +- src/main.cpp | 4 + 7 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 android/app/src/main/res/xml/device_filter.xml diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5059ef3..284e429 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -30,6 +30,15 @@ + android:parentActivityName=".MainActivity" + android:launchMode="singleTop" + android:exported="true"> + + + + + \ No newline at end of file diff --git a/android/app/src/main/assets/firmware/firmware.bin b/android/app/src/main/assets/firmware/firmware.bin index e5bf28e6a062e9adf1c96634463edb7ff6d37ca7..4f086b738e63529dbd2244c0028fc9e526f9c075 100644 GIT binary patch delta 91737 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 diff --git a/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt b/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt index e1946e1..d4da9e0 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt +++ b/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt @@ -60,11 +60,17 @@ class SettingsActivity : AppCompatActivity() { private const val UUID_HEX_LEN = 32 private const val UUID_BYTE_COUNT = 16 private const val HMAC_BYTE_COUNT = 32 + private const val VERSION_TIMEOUT_MS = 3000L + private const val REBOOT_WAIT_MS = 5000L + private const val REBOOT_POLL_MS = 500L + private const val REBOOT_MAX_WAIT_MS = 15000L + private const val EXPECTED_FIRMWARE_VERSION = "1" } private enum class UsbAction { NONE, EXCHANGE_KEY, FLASH } private var currentAction = UsbAction.NONE + private var expectingReboot = false private var progressDialog: AlertDialog? = null private var dialog: AlertDialog? = null private var flasherJob: Job? = null @@ -109,6 +115,7 @@ class SettingsActivity : AppCompatActivity() { if (intent.action == UsbManager.ACTION_USB_DEVICE_DETACHED) { val device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE) if (device?.vendorId == ESP_VENDOR_ID) { + if (expectingReboot) return if (dialog != null && currentAction == UsbAction.NONE) { dialog?.dismiss() dialog = null @@ -147,6 +154,13 @@ class SettingsActivity : AppCompatActivity() { setupLabelEditTexts() } + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + if (intent.action == UsbManager.ACTION_USB_DEVICE_ATTACHED && currentAction == UsbAction.NONE) { + finish() + } + } + override fun onResume() { super.onResume() val current = PrefsHelper.getPrefs(this).getString(PrefsHelper.PREF_THEME, "system") ?: "system" @@ -319,6 +333,26 @@ class SettingsActivity : AppCompatActivity() { } private fun doFlashing(usbManager: UsbManager, device: UsbDevice) { + showProgressDialog(getString(R.string.title_firmware_flash), getString(R.string.msg_checking_version), STYLE_SPINNER) + + lifecycleScope.launch { + val version = readEspVersion(usbManager, device) + if (version == EXPECTED_FIRMWARE_VERSION && !expectingReboot) { + Log.d(TAG, "Firmware version $version matches, skipping flash") + progressDialog?.dismiss() + progressDialog = null + currentAction = UsbAction.EXCHANGE_KEY + doKeyExchange(usbManager, device) + return@launch + } + Log.d(TAG, "Firmware version ${version ?: "none"}, flashing") + progressDialog?.dismiss() + progressDialog = null + doFlashInner(usbManager, device) + } + } + + private fun doFlashInner(usbManager: UsbManager, device: UsbDevice) { dialog?.dismiss() dialog = null showProgressDialog(getString(R.string.title_firmware_flash), getString(R.string.msg_initializing), STYLE_HORIZONTAL) @@ -337,19 +371,14 @@ class SettingsActivity : AppCompatActivity() { try { flasher.flashDevice(usbManager, device, progressCallback) if (isFinishing || isDestroyed) return@launch - currentAction = UsbAction.NONE + expectingReboot = true + currentAction = UsbAction.EXCHANGE_KEY progressDialog?.dismiss() progressDialog = null - dialog = AlertDialog.Builder(this@SettingsActivity) - .setTitle(getString(R.string.title_firmware_flash)) - .setMessage(getString(R.string.msg_flash_complete)) - .setPositiveButton(getString(R.string.button_close)) { d, _ -> - d.dismiss() - dialog = null - } - .setCancelable(true) - .setOnCancelListener { dialog = null } - .show() + showWaitingDialog( + getString(R.string.title_firmware_flash), + getString(R.string.msg_env_waiting_reboot) + ) } catch (e: kotlinx.coroutines.CancellationException) { cleanupAction() throw e @@ -412,6 +441,7 @@ class SettingsActivity : AppCompatActivity() { private fun cleanupAction() { currentAction = UsbAction.NONE + expectingReboot = false dialog?.dismiss() dialog = null progressDialog?.dismiss() @@ -440,6 +470,30 @@ class SettingsActivity : AppCompatActivity() { data class Error(val resId: Int, val arg: String? = null) : KeyResult() } + private fun readEspVersion(usbManager: UsbManager, device: UsbDevice): String? { + val intf = UsbUtils.findCdcDataInterface(device) ?: return null + val connection = usbManager.openDevice(device) ?: return null + if (!connection.claimInterface(intf, true)) { connection.close(); return null } + + val epOut = UsbUtils.findBulkEndpoint(intf, UsbConstants.USB_DIR_OUT) + ?: run { connection.close(); return null } + val epIn = UsbUtils.findBulkEndpoint(intf, UsbConstants.USB_DIR_IN) + ?: run { connection.close(); return null } + + return try { + setupCdcControl(connection, device) + Thread.sleep(KEY_SETTLE_MS) + val cmd = "VERSION?\n".toByteArray(StandardCharsets.US_ASCII) + connection.bulkTransfer(epOut, cmd, cmd.size, USB_BULK_TIMEOUT_MS) + Thread.sleep(RESPONSE_WAIT_MS) + val response = readResponse(connection, epIn, VERSION_TIMEOUT_MS) + val versionLine = response.lines().firstOrNull { it.startsWith("BUILD_NR:") } + versionLine?.removePrefix("BUILD_NR:")?.trim() + } finally { + connection.close() + } + } + private fun readKeyFromEsp(usbManager: UsbManager, device: UsbDevice, appUuid: String?, appKey: String?): KeyResult? { val intf = UsbUtils.findCdcDataInterface(device) ?: return KeyResult.Error(R.string.err_no_cdc) diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 734035f..d3983d3 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -57,7 +57,9 @@ Sleutel uitlezen… Sluit de ESP aan via USB om te flashen. Initialiseren… - Firmware geflashed!\n\nDe ESP herstart automatisch. Sleutels blijven behouden in NVS. + Firmware versie controleren… + Wachten op ESP herstart… + Firmware geflashed!\n\nSleutels worden nu uitgelezen… Sluiten Annuleren diff --git a/android/app/src/main/res/xml/device_filter.xml b/android/app/src/main/res/xml/device_filter.xml new file mode 100644 index 0000000..092927f --- /dev/null +++ b/android/app/src/main/res/xml/device_filter.xml @@ -0,0 +1,4 @@ + + + + diff --git a/platformio.ini b/platformio.ini index f9a9638..4f488bb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,5 +13,5 @@ build_flags = -DCONFIG_BT_NIMBLE_ENABLED lib_deps = h2zero/NimBLE-Arduino@^2 -upload_port = /dev/ttyACM0 +upload_port = /dev/ttyACM1 upload_speed = 115200 \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index ffb428c..e674ecb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,6 +22,7 @@ #define NVS_NAMESPACE "hmac" #define NVS_KEY_NAME "key" #define NVS_UUID_NAME "uuid" +#define FIRMWARE_VERSION "1" NimBLECharacteristic *pCharacteristic; bool deviceConnected = false; @@ -250,6 +251,9 @@ void loop() { } else { Serial.println("NO_KEY"); } + } else if (serialBuf == "VERSION?") { + Serial.print("BUILD_NR:"); + Serial.println(FIRMWARE_VERSION); } else if (serialBuf.startsWith("SET_KEY:")) { String hex = serialBuf.substring(8); hex.toUpperCase(); From 4c022b8259b94676e4c7fb305a341b7776379c4f Mon Sep 17 00:00:00 2001 From: eddy Date: Wed, 29 Jul 2026 23:09:43 +0200 Subject: [PATCH 2/2] Rename package com.eddy.atomrelay -> nl.eddydevink.sylda, Dutch translations, UI cleanup - Package renamed to nl.eddydevink.sylda (matches eddydevink.nl domain + Sylda app name) - All status texts translated to Dutch (Niet verbonden, Verbonden, Zoeken, etc.) - Removed exchange key button, build number, and success toasts - Button text: Firmware bijwerken, instruction text shortened - App title changed to Sylda, 'instellingen' label next to settings gear - ON/HOLD changed to AAN/VAST --- android/app/build.gradle | 4 +-- android/app/src/main/AndroidManifest.xml | 2 +- .../eddydevink/sylda}/BleRelayManager.kt | 2 +- .../eddydevink/sylda}/BleStatus.kt | 2 +- .../eddydevink/sylda}/EspFlasher.kt | 2 +- .../eddydevink/sylda}/MainActivity.kt | 2 +- .../eddydevink/sylda}/PrefsHelper.kt | 2 +- .../eddydevink/sylda}/SettingsActivity.kt | 13 ++------ .../eddydevink/sylda}/UsbSerialTransport.kt | 2 +- .../eddydevink/sylda}/UsbUtils.kt | 2 +- .../app/src/main/res/layout/activity_main.xml | 28 ++++++++++++----- .../src/main/res/layout/activity_settings.xml | 21 ------------- android/app/src/main/res/values/strings.xml | 31 +++++++++---------- 13 files changed, 48 insertions(+), 65 deletions(-) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/BleRelayManager.kt (99%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/BleStatus.kt (92%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/EspFlasher.kt (99%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/MainActivity.kt (99%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/PrefsHelper.kt (97%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/SettingsActivity.kt (98%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/UsbSerialTransport.kt (98%) rename android/app/src/main/java/{com/eddy/atomrelay => nl/eddydevink/sylda}/UsbUtils.kt (97%) diff --git a/android/app/build.gradle b/android/app/build.gradle index b091c04..71f9cf9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,14 +4,14 @@ plugins { } android { - namespace 'com.eddy.atomrelay' + namespace 'nl.eddydevink.sylda' // compileSdk/targetSdk stays on 34 (Android 14) by deliberate choice. The target audience // consists of physically disabled users who are very reluctant to update their phones. Staying // on API 34 maximises device compatibility. Re-evaluate when the user base has migrated. compileSdk 34 defaultConfig { - applicationId "com.eddy.atomrelay" + applicationId "nl.eddydevink.sylda" minSdk 26 targetSdk 34 versionCode 1 diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 284e429..44d9552 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ diff --git a/android/app/src/main/java/com/eddy/atomrelay/BleRelayManager.kt b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt similarity index 99% rename from android/app/src/main/java/com/eddy/atomrelay/BleRelayManager.kt rename to android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt index 713c683..0f137f9 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/BleRelayManager.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda import android.Manifest import android.annotation.SuppressLint diff --git a/android/app/src/main/java/com/eddy/atomrelay/BleStatus.kt b/android/app/src/main/java/nl/eddydevink/sylda/BleStatus.kt similarity index 92% rename from android/app/src/main/java/com/eddy/atomrelay/BleStatus.kt rename to android/app/src/main/java/nl/eddydevink/sylda/BleStatus.kt index 19a0046..110aac8 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/BleStatus.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/BleStatus.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda enum class BleStatus { Scanning, diff --git a/android/app/src/main/java/com/eddy/atomrelay/EspFlasher.kt b/android/app/src/main/java/nl/eddydevink/sylda/EspFlasher.kt similarity index 99% rename from android/app/src/main/java/com/eddy/atomrelay/EspFlasher.kt rename to android/app/src/main/java/nl/eddydevink/sylda/EspFlasher.kt index ba3377b..7a1b75d 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/EspFlasher.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/EspFlasher.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda import android.content.Context import android.hardware.usb.UsbConstants diff --git a/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt b/android/app/src/main/java/nl/eddydevink/sylda/MainActivity.kt similarity index 99% rename from android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt rename to android/app/src/main/java/nl/eddydevink/sylda/MainActivity.kt index e67457e..81adfec 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/MainActivity.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda import android.content.Intent import android.content.pm.PackageManager diff --git a/android/app/src/main/java/com/eddy/atomrelay/PrefsHelper.kt b/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt similarity index 97% rename from android/app/src/main/java/com/eddy/atomrelay/PrefsHelper.kt rename to android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt index 31147f9..5b123ac 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/PrefsHelper.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda import android.content.Context import android.content.SharedPreferences diff --git a/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt similarity index 98% rename from android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt rename to android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt index d4da9e0..a860c32 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/SettingsActivity.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package com.eddy.atomrelay +package nl.eddydevink.sylda import android.app.AlertDialog import android.app.PendingIntent @@ -52,7 +52,7 @@ class SettingsActivity : AppCompatActivity() { private const val FLUSH_TIMEOUT_MS = 100 private const val READ_CHUNK_TIMEOUT_MS = 500 private const val CDC_CONTROL_TIMEOUT_MS = 500 - private const val ACTION_USB_PERMISSION = "com.eddy.atomrelay.USB_PERMISSION" + private const val ACTION_USB_PERMISSION = "nl.eddydevink.sylda.USB_PERMISSION" private const val STYLE_SPINNER = 0 private const val STYLE_HORIZONTAL = 1 private const val USB_READ_BUF_SIZE = 512 @@ -136,16 +136,10 @@ class SettingsActivity : AppCompatActivity() { supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.title = getString(R.string.title_settings) - findViewById