Commit Graph
13 Commits
Author SHA1 Message Date
Constantin Leue e9a5b3ea0b Scale up the launcher icon's DC glyph to fill its safe zone
The foreground layer's white DC glyph only occupied 235x150 of the
432x432 canvas (81.6% width / 52.1% height of the 66dp safe zone),
noticeably smaller than the background layer's pink M shape, which
was deliberately sized per design/icon/README.md to fill that same
zone almost edge-to-edge (287x287, ~100%). Upscaled and recentered the
DC glyph to 288x184 (matching the M's full zone width, aspect ratio
preserved) so both layers read at a consistent size on the home
screen, then regenerated the mipmap drawables via
`dart run flutter_launcher_icons` and verified on the emulator after
a `flutter clean` + reinstall (per the README's cache-busting note).
2026-08-07 22:50:55 +02:00
Constantin Leue 539a6e4171 Drop SSID display from settings, connection pill shows generic "Connected"
Real hardware testing (Pixel 10a) showed NetworkCapabilities.getTransportInfo()
consistently returns a redacted WifiInfo (SSID "<unknown ssid>", masked BSSID)
even for the app's own self-requested WifiNetworkSpecifier network, disproving
this codebase's prior assumption of a self-request exemption from
ACCESS_FINE_LOCATION for that API path (confirmed via native diagnostic
logging cross-checked against `adb shell dumpsys wifi`, which does show and
correctly attribute the true SSID at the OS level). Rather than add a location
permission with a runtime prompt purely for this cosmetic display, the
settings pill now just shows "Connected". Documented as decision 4.24.
2026-08-06 22:24:03 +02:00
Constantin LeueandClaude Sonnet 5 a8d2731c43 Adaptive Launcher-Icon fehlte komplett - weisser Rand um das App-Icon behoben
flutter_launcher_icons war zwar in pubspec.yaml konfiguriert (image_path,
adaptive_icon_background, adaptive_icon_foreground zeigen bereits korrekt
auf assets/icon/), wurde aber nie mit den adaptiven Icon-Assets ausgefuehrt:
es existierte kein mipmap-anydpi-v26/ic_launcher.xml, nur das alte flache
Icon in mipmap-*/ic_launcher.png. Ohne adaptive Icon-Ressourcen wrapped
Android das flache quadratische Icon selbst in einen synthetischen
adaptiven Icon-Platzhalter mit weissem Rand.

`dart run flutter_launcher_icons` ausgefuehrt - erzeugt jetzt
mipmap-anydpi-v26/ic_launcher.xml plus die drawable-*/ic_launcher_
background.png/ic_launcher_foreground.png pro Dichte aus den bereits
vorhandenen assets/icon/ic_background.png/ic_foreground.png. Auf dem
Pixel_10a-Emulator verifiziert: kein weisser Rand mehr, sauberer pinker
Kreis mit Chevron und "DC"-Logo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 16:36:10 +02:00
Constantin Leue 4e94102861 host address retrieving through assigned subnet information and broadcast message to learn host address 2026-08-03 23:10:11 +02:00
Constantin Leue f42d997d4c UI improvements for telemetry debugging 2026-08-02 20:21:21 +02:00
Constantin Leue 607dbb6584 autoconnect on fly mode (does not work yet) 2026-08-02 08:25:23 +02:00
Constantin Leue 5e9ef43f2f udp socket binding istead of process binding to allow internet over network for maps etc 2026-07-31 20:49:08 +02:00
Constantin Leue 3b3451b8a2 wifi connection established by app, process socket binding, primary os connection untouched 2026-07-31 15:25:45 +02:00
Constantin Leue 8cc9a51a34 WIFI connection support added 2026-07-31 08:17:12 +02:00
Constantin Leue 0a9cc1d3c8 update with square icon 2026-07-28 21:11:06 +02:00
Constantin LeueandClaude Sonnet 5 02dd1bc11a Lock app to landscape fullscreen and add first OSM map
- Lock orientation to landscape (sensorLandscape in the manifest,
  SystemChrome.setPreferredOrientations in main.dart) and enable immersive
  fullscreen, matching the prototype's full-bleed map UI (doc 7.7).
- Add MissionMap widget: flutter_map + standard OSM raster tiles, same
  default center/zoom as the HTML prototype (Amsterdam, zoom 16), OSM
  attribution bottom-left. PlanScreen now renders it full-screen instead of
  the placeholder text.
- Add the release-manifest INTERNET permission (previously only present in
  the debug manifest, which would have silently broken tile loading and any
  future network calls in release builds).
- Update the smoke test to check for the FlutterMap widget instead of the
  removed placeholder text.

Verified with flutter analyze, flutter test, and a real run on the
Pixel_10a emulator (fullscreen landscape confirmed, tiles loading).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 07:27:15 +02:00
Constantin LeueandClaude Sonnet 5 ac14ad4c4c Fix Android release build and verify on emulator
- Disable Kotlin incremental compilation (kotlin.incremental=false): the
  project lives on D: while Gradle's Kotlin daemon caches default to C:,
  which crashes with "this and base files have different roots" when
  closing incremental caches.
- Drop flutter_map_tile_caching for now: it pins objectbox_flutter_libs
  ^4.1.0, which fails checkReleaseAarMetadata against newer AndroidX
  transitive deps (needs compileSdk 34+, itself built against android-31).
  Not used in code yet, so deferred rather than forcing an unverified
  dependency_override.
- Add web/ platform for fast local UI iteration without an emulator.
- Ignore .claude/ (Claude Code session state, not project content).

Verified: flutter analyze, flutter test, and a real release build running
on a newly created Pixel_10a-profile Android emulator (API 36).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 22:00:14 +02:00
Constantin LeueandClaude Sonnet 5 346fcc2183 Add Flutter project skeleton (Android-only MVP)
Five-layer architecture per DMC_Architektur_und_Design.md: FlightControllerLink
abstraction (Mock + MSP stub), protocol-neutral mission domain layer, App-Mode
state machine with Ready-to-Fly gate, Drift persistence schema, and placeholder
UI screens wired via go_router. App icon generated from design/Y2_pink_dark.svg.
Verified with flutter analyze and flutter test.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 21:28:25 +02:00