splitting large files into submodules
This commit is contained in:
@@ -8,10 +8,15 @@ Offline-first, ad-free QR/barcode scanner built with Kotlin, Jetpack Compose, Ca
|
||||
|
||||
## Architektur
|
||||
- `ui/`: Compose screens/components + ViewModels (MVVM)
|
||||
- `ui/screens/ScannerScreen.kt`: Scanner-Orchestrierung (Camera, Overlay, Actions, Bottom Sheet)
|
||||
- `ui/screens/ScannerResultCards.kt`: strukturierte Ergebnis-Visualisierung (inkl. Kontaktkarten)
|
||||
- `ui/screens/ScannerGalleryPreviewDialog.kt`: Bild-Scan-Vorschau mit Zoom/Pan + Live-Re-Detection
|
||||
- `ui/screens/ScannerOverlayComponents.kt`: Overlay-Toggles, Batch-Panel, Permission-Content
|
||||
- `ui/screens/BarcodeTypeMapper.kt`: ML-Kit `valueType` -> lesbarer Typ
|
||||
- `data/`: ML Kit analyzer, Room entities/DAO, repository
|
||||
- `domain/`: app models (`ScanResult`, `ScanRecord`, `UrlRiskResult`)
|
||||
- `settings/`: DataStore preferences (history + warnings toggles)
|
||||
- `util/`: URL risk scoring, clipboard, intents
|
||||
- `util/`: URL risk scoring, clipboard, intents, content parser (`vCard`/`MECARD`/`WIFI`/`VEVENT`)
|
||||
|
||||
## Datenschutz
|
||||
- Keine Werbung
|
||||
@@ -23,7 +28,9 @@ Offline-first, ad-free QR/barcode scanner built with Kotlin, Jetpack Compose, Ca
|
||||
- Home: Scan-Button, lokaler Historie-Toggle (Default: OFF), Datenschutz-Dialog
|
||||
- Scanner: CameraX Live-Preview, Fadenkreuz-Overlay, Taschenlampe, Debounce gegen Doppelscans, Live-Hinweise zu erkannten/lesbaren Codes
|
||||
- Bild-Scan: Multi-Code-Erkennung aus einem Bild mit Ergebnis-Auswahl
|
||||
- Ergebnis-Bottom-Sheet: Typ/Inhalt + Copy/Share/Open/Scan again
|
||||
- Ergebnis-Bottom-Sheet: strukturierte Anzeige + Copy/Share/Open/Scan again + kontextspezifische Aktionen
|
||||
- Kontakt-Workflows: vCard/MECARD parsen, visuelle Kontaktkarte, "Zu Kontakten hinzufügen"
|
||||
- Office/Admin-Workflows: Wi-Fi QR parsen + Einstellungen öffnen, Kalender-QR parsen + Event anlegen
|
||||
- URL-Sicherheitswarnung bei lokalem `riskScore >= 3` (kein Blocken, nur Hinweis)
|
||||
- Historie: Suche, Swipe-to-delete, Alles-löschen, Detailansicht mit Volltext
|
||||
- Einstellungen: Historie an/aus (mit optionalem Löschen), Warnungen an/aus, About-Infos
|
||||
@@ -52,4 +59,9 @@ CLI:
|
||||
./gradlew testDebugUnitTest
|
||||
```
|
||||
|
||||
- URL-Risk-Scorer tests: `app/src/test/java/com/clean/scanner/util/UrlRiskScorerTest.kt`
|
||||
- Wichtige Test-Suites:
|
||||
- `app/src/test/java/com/clean/scanner/util/ScanContentParsersTest.kt`
|
||||
- `app/src/test/java/com/clean/scanner/util/HistoryExportFormatterTest.kt`
|
||||
- `app/src/test/java/com/clean/scanner/util/UrlRiskScorerTest.kt`
|
||||
- `app/src/test/java/com/clean/scanner/ui/ScannerViewModelTest.kt`
|
||||
- `app/src/androidTest/java/com/clean/scanner/util/IntentsTest.kt`
|
||||
|
||||
Reference in New Issue
Block a user