Refactor USB screen, add debug logging, fix UI issues

- Rewrite UsbScreen to mirror ScannerScreen patterns (status bar,
  tap-to-connect port list, bottom FABs, SnackBar errors)
- Extract MeshCoreUsbManager from MeshCoreConnector for cleaner
  USB transport ownership
- Add debug logging throughout USB connection flow (connector,
  manager, web/native services)
- Print debug logs to console in debug mode even when app debug
  log setting is disabled
- Localize remaining hardcoded strings (Web Serial Device fallback
  label, USB status bar keys, companion firmware timeout hint)
- Fix Swedish misspelling in translations (stöderliga → stödda)
- Guard Linux notification init against missing D-Bus session bus
- Fix SNRIndicator hit-test error by adding minimum size constraints
- Update USB flow tests for new UI patterns
This commit is contained in:
zjs81
2026-03-07 12:38:28 -07:00
parent 8238b6197f
commit fef73b7b62
42 changed files with 981 additions and 553 deletions
+31 -1
View File
@@ -433,9 +433,39 @@ abstract class AppLocalizations {
/// No description provided for @usbErrorConnectTimedOut.
///
/// In en, this message translates to:
/// **'Timed out waiting for the device to respond.'**
/// **'Connection timed out. Make sure the device has USB Companion firmware.'**
String get usbErrorConnectTimedOut;
/// No description provided for @usbFallbackDeviceName.
///
/// In en, this message translates to:
/// **'Web Serial Device'**
String get usbFallbackDeviceName;
/// No description provided for @usbStatus_notConnected.
///
/// In en, this message translates to:
/// **'Select a USB device'**
String get usbStatus_notConnected;
/// No description provided for @usbStatus_connecting.
///
/// In en, this message translates to:
/// **'Connecting to USB device...'**
String get usbStatus_connecting;
/// No description provided for @usbStatus_searching.
///
/// In en, this message translates to:
/// **'Searching for USB devices...'**
String get usbStatus_searching;
/// No description provided for @usbConnectionFailed.
///
/// In en, this message translates to:
/// **'USB connection failed: {error}'**
String usbConnectionFailed(String error);
/// No description provided for @scanner_scanning.
///
/// In en, this message translates to: