Skip to content

roadstrapp.0.4.1.apk

Choose a tag to compare

@roadstrapp roadstrapp released this 07 Jul 20:23

πŸ”’ v0.4.1 β€” Navigation polish & security hardening

Navigation fixes

  • TTS timing β€” Voice announcements now adapt to transport mode. Walking uses tighter distances (far 60 m Β· near 15 m); cycling uses intermediate distances (far 150 m Β· near 30 m); driving is unchanged. Back-to-back announcements on short steps are suppressed to prevent the "silencing" effect.
  • Walking arrival radius β€” Arrival is now confirmed at 15 m instead of 40 m when navigating on foot, so a 300 m route no longer triggers arrival halfway through.
  • Arrival screen removed β€” The πŸ‘/πŸ‘Ž feedback dialog is gone. On arrival the destination pin turns green with a βœ“ icon and stays visible on the map; a brief banner auto-dismisses after 6 seconds.

Security hardening

  • EncryptedSharedPreferences enabled β€” All four FlutterSecureStorage instances now use encryptedSharedPreferences: true, encrypting both keys and values via Android Keystore (not just values).
  • NWC URI moved to SecureStorage β€” The nostr+walletconnect:// URI (which contains a Lightning wallet private key) was stored in plain Hive. It is now stored in Android Keystore-backed SecureStorage. Automatic migration from Hive on first launch.
  • Routing API keys moved to SecureStorage β€” GraphHopper Cloud and OpenRouteService API keys were stored in plain Hive. Migrated to SecureStorage with the same automatic migration path.
  • WebView hardened β€” The Wikipedia/search WebView now blocks any navigation to non-HTTPS URLs via onNavigationRequest.
  • ADB backup disabled β€” android:allowBackup="false" added to AndroidManifest.xml. Prevents adb backup from extracting app data (including the Hive settings file) from an unlocked device with USB debugging enabled.
  • Release logging β€” Replaced a print() call in gps_service.dart (visible in logcat in release builds) with debugPrint() (stripped in release).
Migration note: NWC URI and routing API keys are migrated automatically from Hive to SecureStorage the first time each relevant screen is used after the update. No manual action required.