Files
simple-notes-sync/fastlane
inventory69 24ea7ec59a fix: Android 9 crash - Implement getForegroundInfo() for WorkManager Expedited Work (Issue #15)
This commit fixes the critical crash on Android 9 (API 28) that occurred when using
WorkManager Expedited Work for background sync operations.

## Root Cause
When setExpedited() is used in WorkManager, the CoroutineWorker must implement
getForegroundInfo() to return a ForegroundInfo object with a Foreground Service
notification. On Android 9-11, WorkManager calls this method, but the default
implementation throws: IllegalStateException: Not implemented

## Solution
- Implemented getForegroundInfo() in SyncWorker
- Returns ForegroundInfo with sync progress notification
- Android 10+: Sets FOREGROUND_SERVICE_TYPE_DATA_SYNC for proper service typing
- Added required Foreground Service permissions to AndroidManifest.xml

## Technical Changes
- SyncWorker.kt: Added getForegroundInfo() override
- NotificationHelper.kt: Added createSyncProgressNotification() factory method
- strings.xml: Added sync_in_progress UI strings (EN + DE)
- AndroidManifest.xml: Added FOREGROUND_SERVICE permissions
- Version updated to 1.7.1 (versionCode 18)

## Previously Fixed (in this release)
- Kernel-VPN compatibility (Wireguard interface detection)
- HTTP connection lifecycle optimization (SafeSardineWrapper)
- Stability improvements for sync sessions

## Testing
- Tested on Android 9 (API 28) - No crash on second app start
- Tested on Android 15 (API 35) - No regressions
- WiFi-connect sync working correctly
- Expedited work notifications display properly

Fixes #15
Thanks to @roughnecks for detailed bug report and testing!
2026-02-02 13:09:12 +01:00
..

F-Droid Metadata

Diese Verzeichnisstruktur enthält alle Metadaten für die F-Droid-Veröffentlichung.

Struktur

fastlane/metadata/android/de-DE/
├── title.txt                 # App-Name (max 50 Zeichen)
├── short_description.txt     # Kurzbeschreibung (max 80 Zeichen)
├── full_description.txt      # Vollständige Beschreibung (max 4000 Zeichen)
├── changelogs/
│   └── 1.txt                 # Changelog für Version 1
└── images/
    └── phoneScreenshots/     # Screenshots (PNG/JPG, 320-3840px breit)
        ├── 1.png             # Hauptansicht (Notizliste)
        ├── 2.png             # Notiz-Editor
        ├── 3.png             # Settings
        └── 4.png             # Empty State

Screenshots erstellen

Verwende einen Android Emulator oder physisches Gerät mit:

  • Material You Theme aktiviert
  • Deutsche Sprache
  • Screenshots in hoher Auflösung (1080x2400 empfohlen)

Screenshot-Reihenfolge:

  1. Notizliste - Mit mehreren Beispiel-Notizen, Sync-Status sichtbar
  2. Editor - Zeige eine bearbeitete Notiz mit Titel und Inhalt
  3. Settings - Server-Konfiguration mit erfolgreichem Server-Status
  4. Empty State - Schöne leere Ansicht mit Material 3 Card

F-Droid Build-Konfiguration

Die App verwendet den fdroid Build-Flavor ohne proprietäre Dependencies. Siehe build.gradle.kts für Details.