diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index ba5b007..50c212e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -2,7 +2,7 @@ ## Projekt -**Krisenvorrat Inventar-App** – Eine Android-App (Kotlin) zur Verwaltung eines Krisenvorrats-Inventars mit lokaler Datenhaltung und Sharing-Möglichkeit. +**Bollwerk Inventar-App** – Eine Android-App (Kotlin) zur Verwaltung eines Bollwerks-Inventars mit lokaler Datenhaltung und Sharing-Möglichkeit. ## Technischer Stack diff --git a/.github/kotlin-conventions.instructions.md b/.github/kotlin-conventions.instructions.md index 39ee63e..ca37c79 100644 --- a/.github/kotlin-conventions.instructions.md +++ b/.github/kotlin-conventions.instructions.md @@ -2,7 +2,7 @@ applyTo: "**/*.kt" --- -# Kotlin Coding Conventions – Krisenvorrat App +# Kotlin Coding Conventions – Bollwerk App Diese Konventionen gelten für alle Kotlin-Dateien im Workspace. diff --git a/.github/prompts/workflow-block-planning.prompt.md b/.github/prompts/workflow-block-planning.prompt.md index 4398092..23867e9 100644 --- a/.github/prompts/workflow-block-planning.prompt.md +++ b/.github/prompts/workflow-block-planning.prompt.md @@ -138,7 +138,7 @@ Nach dem Anlegen **jedes** [T]- und [P]-Tickets **sofort** ausführen: ```powershell # 1. Ticket zum Board hinzufügen -gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/krisenvorrat/issues/" +gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/bollwerk/issues/" # 2. Bestehende Order-Werte abfragen (höchsten Wert ermitteln) & ".github/skills/gh-tickets/next-ticket.ps1" | Out-Null # zeigt alle offenen Tickets mit Order diff --git a/.github/prompts/workflow-planning.prompt.md b/.github/prompts/workflow-planning.prompt.md index a798b06..49c8cc8 100644 --- a/.github/prompts/workflow-planning.prompt.md +++ b/.github/prompts/workflow-planning.prompt.md @@ -91,7 +91,7 @@ Nach dem Anlegen jedes [F]-Tickets **sofort** ausführen: ```powershell # 1. Ticket zum Board hinzufügen -gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/krisenvorrat/issues/" +gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/bollwerk/issues/" # 2. Bestehende Order-Werte abfragen (höchsten Wert ermitteln) & ".github/skills/gh-tickets/next-ticket.ps1" | Out-Null # zeigt alle offenen Tickets mit Order diff --git a/.github/skills/android-build/SKILL.md b/.github/skills/android-build/SKILL.md index 9549ae0..711518e 100644 --- a/.github/skills/android-build/SKILL.md +++ b/.github/skills/android-build/SKILL.md @@ -5,7 +5,7 @@ description: "Android-App bauen (assembleDebug/Release), Gradle-Kommandos, häuf # Skill: Android Build -Baut die Krisenvorrat-Android-App mit Gradle. Handhabt bekannte Fallstricke auf diesem Windows-Setup. +Baut die Bollwerk-Android-App mit Gradle. Handhabt bekannte Fallstricke auf diesem Windows-Setup. --- @@ -63,7 +63,7 @@ Falls das Skript nicht verfügbar ist, gibt es **zwei verlässliche Varianten**: #### Variante A – via `execution_subagent` (empfohlen) ``` -cd x:\krisenvorrat ; .\gradlew assembleDebug test +cd x:\bollwerk ; .\gradlew assembleDebug test ``` - `.\gradlew` (ohne `.bat`) funktioniert hier einwandfrei @@ -75,7 +75,7 @@ cd x:\krisenvorrat ; .\gradlew assembleDebug test ```powershell $env:ANDROID_HOME = "C:\Users\JensR\AppData\Local\Android\Sdk" -cd "x:\krisenvorrat" +cd "x:\bollwerk" .\gradlew.bat assembleDebug 2>&1 | Out-String ``` diff --git a/.github/skills/android-build/android-dev.ps1 b/.github/skills/android-build/android-dev.ps1 index 076ce57..3e534c6 100644 --- a/.github/skills/android-build/android-dev.ps1 +++ b/.github/skills/android-build/android-dev.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Zentrales Entwicklungsskript für die Krisenvorrat Android-App. + Zentrales Entwicklungsskript für die Bollwerk Android-App. .DESCRIPTION Handhabt Build, Deploy und Emulator-Operationen. @@ -57,7 +57,7 @@ $PROJECT_DIR = $PSScriptRoot | Split-Path | Split-Path | Split-Path # .github/s $APK_PATH = "$PROJECT_DIR\app\build\outputs\apk\debug\app-debug.apk" $AVD_NAME = "S24Ultra_API35" $GPU_MODE = "guest" # 'guest' = Software-Rendering im Gast (host/auto/swiftshader scheitern an fehlendem OpenGL Core Profile) -$PACKAGE = "de.krisenvorrat.app" +$PACKAGE = "de.bollwerk.app" $ACTIVITY = "$PACKAGE/.MainActivity" $BOOT_TIMEOUT = 300 # Sekunden (erster Boot eines neuen AVD kann >2min dauern) $ADB_CONNECT_TIMEOUT = 120 # Sekunden auf ADB-Verbindung warten diff --git a/.github/skills/android-device/SKILL.md b/.github/skills/android-device/SKILL.md index 019d5c9..42dfe65 100644 --- a/.github/skills/android-device/SKILL.md +++ b/.github/skills/android-device/SKILL.md @@ -5,7 +5,7 @@ description: "App auf echtes Android-Handy (Samsung S24 Ultra) deployen, USB-Deb # Skill: Android Device (Samsung S24 Ultra) -Deployt die Krisenvorrat-App auf das physische Samsung Galaxy S24 Ultra. +Deployt die Bollwerk-App auf das physische Samsung Galaxy S24 Ultra. --- @@ -123,14 +123,14 @@ $adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe" $dev = "192.168.68.107:42539" # Port prüfen! # 1. Build -cd X:\krisenvorrat +cd X:\bollwerk .\gradlew.bat assembleDebug # 2. Install & $adb -s $dev install -r "app\build\outputs\apk\debug\app-debug.apk" # 3. Launch -& $adb -s $dev shell am start -n de.krisenvorrat.app/.MainActivity +& $adb -s $dev shell am start -n de.bollwerk.app/.MainActivity ``` ### App installieren @@ -144,19 +144,19 @@ cd X:\krisenvorrat ### App starten ```powershell -& $adb -s $dev shell am start -n de.krisenvorrat.app/.MainActivity +& $adb -s $dev shell am start -n de.bollwerk.app/.MainActivity ``` ### App stoppen ```powershell -& $adb -s $dev shell am force-stop de.krisenvorrat.app +& $adb -s $dev shell am force-stop de.bollwerk.app ``` ### Logcat (gefiltert auf App) ```powershell -& $adb -s $dev logcat --pid=$(& $adb -s $dev shell pidof de.krisenvorrat.app) -v time +& $adb -s $dev logcat --pid=$(& $adb -s $dev shell pidof de.bollwerk.app) -v time ``` ### Screenshot vom Gerät @@ -173,7 +173,7 @@ cd X:\krisenvorrat ### App deinstallieren ```powershell -& $adb -s $dev uninstall de.krisenvorrat.app +& $adb -s $dev uninstall de.bollwerk.app ``` --- @@ -206,7 +206,7 @@ Die App ist mit einem anderen Signaturschlüssel installiert. **Lösung:** ```powershell -& $adb -d uninstall de.krisenvorrat.app +& $adb -d uninstall de.bollwerk.app & $adb -d install "app\build\outputs\apk\debug\app-debug.apk" ``` diff --git a/.github/skills/android-emulator/SKILL.md b/.github/skills/android-emulator/SKILL.md index 5bc3b7b..9891f8b 100644 --- a/.github/skills/android-emulator/SKILL.md +++ b/.github/skills/android-emulator/SKILL.md @@ -5,7 +5,7 @@ description: "Android-Emulator starten, Apps installieren/starten, AVD verwalten # Skill: Android Emulator -Verwaltet den Android-Emulator für die Krisenvorrat-App. Das Standard-AVD simuliert ein Samsung S24 Ultra. +Verwaltet den Android-Emulator für die Bollwerk-App. Das Standard-AVD simuliert ein Samsung S24 Ultra. --- @@ -90,19 +90,19 @@ Start-Sleep -Seconds 30 ### App starten ```powershell -& $adb shell am start -n de.krisenvorrat.app/.MainActivity +& $adb shell am start -n de.bollwerk.app/.MainActivity ``` ### App stoppen ```powershell -& $adb shell am force-stop de.krisenvorrat.app +& $adb shell am force-stop de.bollwerk.app ``` ### Logcat (gefiltert) ```powershell -& $adb logcat --pid=$(& $adb shell pidof de.krisenvorrat.app) -v time +& $adb logcat --pid=$(& $adb shell pidof de.bollwerk.app) -v time ``` ### Screenshot diff --git a/.github/skills/gh-tickets/SKILL.md b/.github/skills/gh-tickets/SKILL.md index b4c263a..440ff70 100644 --- a/.github/skills/gh-tickets/SKILL.md +++ b/.github/skills/gh-tickets/SKILL.md @@ -5,7 +5,7 @@ description: "Konventionen für GitHub-Issues in diesem Workspace: Aufgabentyp-L # Skill: GitHub Tickets (gh-tickets) -Dieses Dokument definiert die verbindlichen Konventionen für GitHub-Issues im Repository `jreinemann-euris/krisenvorrat`. +Dieses Dokument definiert die verbindlichen Konventionen für GitHub-Issues im Repository `jreinemann-euris/bollwerk`. --- @@ -58,7 +58,7 @@ Die Abarbeitungsreihenfolge wird über das **Project Board** gesteuert, nicht ü | Eigenschaft | Wert | | ------------- | ----------------------------------------------------------------- | -| Projekt-Name | `Krisenvorrat` | +| Projekt-Name | `Bollwerk` | | Projekt-Nr | `2` | | Owner | `jreinemann-euris` | | Sortierfeld | `Order` (Number-Feld) | @@ -91,7 +91,7 @@ Ausgabe: `#68 [M] CRM: Erweiterte Kundensuche (Order: 120)` ```powershell # Issue zum Board hinzufügen -gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/krisenvorrat/issues/" +gh project item-add 2 --owner jreinemann-euris --url "https://github.com/jreinemann-euris/bollwerk/issues/" # Order-Wert setzen (erfordert Item-ID und Field-ID) gh project item-edit --id --field-id --project-id --number diff --git a/.github/skills/gh-tickets/create-next-ticket.ps1 b/.github/skills/gh-tickets/create-next-ticket.ps1 index 477e9bf..75c48ed 100644 --- a/.github/skills/gh-tickets/create-next-ticket.ps1 +++ b/.github/skills/gh-tickets/create-next-ticket.ps1 @@ -24,7 +24,7 @@ param( [string]$Status = "Todo" ) -$repo = "jreinemann-euris/krisenvorrat" +$repo = "jreinemann-euris/bollwerk" $projectId = "PVT_kwHOCFqiJ84BXk9U" $orderFieldId = "PVTF_lAHOCFqiJ84BXk9UzhSw4jo" $statusFieldId = "PVTSSF_lAHOCFqiJ84BXk9UzhSw4es" diff --git a/.github/skills/gh-tickets/next-ticket.ps1 b/.github/skills/gh-tickets/next-ticket.ps1 index 0e01a69..c68ddc6 100644 --- a/.github/skills/gh-tickets/next-ticket.ps1 +++ b/.github/skills/gh-tickets/next-ticket.ps1 @@ -9,7 +9,7 @@ #> param([int]$IssueNumber) -$repo = "jreinemann-euris/krisenvorrat" +$repo = "jreinemann-euris/bollwerk" if ($IssueNumber -gt 0) { # Variante A: Explizite Issue-Nummer diff --git a/.github/skills/publish/SKILL.md b/.github/skills/publish/SKILL.md index c573232..9386e85 100644 --- a/.github/skills/publish/SKILL.md +++ b/.github/skills/publish/SKILL.md @@ -17,13 +17,13 @@ Dieser Skill deckt den vollständigen Workflow ab, um eine neue App-Version auf ``` App (lokal) VPS (195.246.231.210) ───────────── ───────────────────── -app/build.gradle.kts /opt/krisenvorrat/ - versionCode / versionName ├── docker-compose.yml (KRISENVORRAT_APP_VERSION_CODE/NAME) +app/build.gradle.kts /opt/bollwerk/ + versionCode / versionName ├── docker-compose.yml (BOLLWERK_APP_VERSION_CODE/NAME) ├── data/app-latest.apk (statisch ausgeliefert) ./gradlew assembleDebug └── Server-Container (Ktor) → app-debug.apk ├── GET / → Homepage mit QR-Code ├── GET /api/version → JSON {versionCode, versionName, apkUrl} -scp → /opt/krisenvorrat/data/ └── GET /static/* → Dateien aus data/ +scp → /opt/bollwerk/data/ └── GET /static/* → Dateien aus data/ ``` ### Wie die Update-Prüfung funktioniert @@ -35,7 +35,7 @@ scp → /opt/krisenvorrat/data/ └── GET /static/* → Dateie ### Wie die Homepage funktioniert - `GET /` liefert HTML mit QR-Code (via qrcodejs) + Download-Link auf `/static/app-latest.apk` -- Version wird aus `KRISENVORRAT_APP_VERSION_CODE` / `KRISENVORRAT_APP_VERSION_NAME` Env-Vars gelesen +- Version wird aus `BOLLWERK_APP_VERSION_CODE` / `BOLLWERK_APP_VERSION_NAME` Env-Vars gelesen --- @@ -58,7 +58,7 @@ Die APK liegt danach unter: `app/build/outputs/apk/debug/app-debug.apk` ### Schritt 3 – APK auf VPS hochladen ```powershell -scp app/build/outputs/apk/debug/app-debug.apk root@195.246.231.210:/opt/krisenvorrat/data/app-latest.apk +scp app/build/outputs/apk/debug/app-debug.apk root@195.246.231.210:/opt/bollwerk/data/app-latest.apk ``` **Voraussetzung:** SSH-Agent muss laufen und Key geladen sein (siehe vps-deploy Skill). @@ -69,19 +69,19 @@ Die Version wird über Environment-Variablen in der `docker-compose.yml` auf dem ```powershell # Neue Werte per sed in docker-compose.yml eintragen -ssh root@195.246.231.210 "cd /opt/krisenvorrat && sed -i 's/KRISENVORRAT_APP_VERSION_CODE=.*/KRISENVORRAT_APP_VERSION_CODE=/' docker-compose.yml && sed -i 's/KRISENVORRAT_APP_VERSION_NAME=.*/KRISENVORRAT_APP_VERSION_NAME=/' docker-compose.yml" +ssh root@195.246.231.210 "cd /opt/bollwerk && sed -i 's/BOLLWERK_APP_VERSION_CODE=.*/BOLLWERK_APP_VERSION_CODE=/' docker-compose.yml && sed -i 's/BOLLWERK_APP_VERSION_NAME=.*/BOLLWERK_APP_VERSION_NAME=/' docker-compose.yml" ``` Falls die Env-Vars noch nicht in der docker-compose.yml stehen, müssen sie einmalig hinzugefügt werden: ```powershell -ssh root@195.246.231.210 "cd /opt/krisenvorrat && sed -i '/KRISENVORRAT_JWT_SECRET/a\ - KRISENVORRAT_APP_VERSION_CODE=\n - KRISENVORRAT_APP_VERSION_NAME=' docker-compose.yml" +ssh root@195.246.231.210 "cd /opt/bollwerk && sed -i '/BOLLWERK_JWT_SECRET/a\ - BOLLWERK_APP_VERSION_CODE=\n - BOLLWERK_APP_VERSION_NAME=' docker-compose.yml" ``` ### Schritt 5 – Server neustarten ```powershell -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose up -d" +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose up -d" ``` ### Schritt 6 – Verifizieren diff --git a/.github/skills/publish/publish-apk.ps1 b/.github/skills/publish/publish-apk.ps1 index 6f070a8..05dd55f 100644 --- a/.github/skills/publish/publish-apk.ps1 +++ b/.github/skills/publish/publish-apk.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Publiziert eine APK auf den Krisenvorrat VPS. + Publiziert eine APK auf den Bollwerk VPS. .DESCRIPTION Lädt die APK auf den VPS hoch, aktualisiert die Version in der docker-compose.yml und startet den Server-Container neu. @@ -22,7 +22,7 @@ param( $ErrorActionPreference = "Stop" $VPS = "root@195.246.231.210" -$RemoteDir = "/opt/krisenvorrat" +$RemoteDir = "/opt/bollwerk" # --- Preflight --- Write-Host "=== Publish APK v$VersionName (build $VersionCode) ===" -ForegroundColor Cyan @@ -51,7 +51,7 @@ Write-Host "[OK] APK hochgeladen" -ForegroundColor Green Write-Host "`n[2/4] Version in docker-compose.yml aktualisieren..." -ForegroundColor Yellow # Prüfen ob Env-Vars bereits vorhanden sind (bash-Syntax in einfachen Anführungszeichen) -$checkCmd = 'grep -c "KRISENVORRAT_APP_VERSION_CODE" ' + $RemoteDir + '/docker-compose.yml 2>/dev/null || echo 0' +$checkCmd = 'grep -c "BOLLWERK_APP_VERSION_CODE" ' + $RemoteDir + '/docker-compose.yml 2>/dev/null || echo 0' $checkResult = ssh $VPS $checkCmd # SSH kann Array zurückgeben (z.B. Banner + Ergebnis) - letzte Zeile nehmen if ($checkResult -is [array]) { $checkResult = $checkResult[-1] } @@ -59,11 +59,11 @@ $hasVersionCode = [int]($checkResult.Trim()) if ($hasVersionCode -gt 0) { # Update bestehende Einträge - $sedCmd = "cd $RemoteDir; sed -i 's/KRISENVORRAT_APP_VERSION_CODE=.*/KRISENVORRAT_APP_VERSION_CODE=$VersionCode/' docker-compose.yml; sed -i 's/KRISENVORRAT_APP_VERSION_NAME=.*/KRISENVORRAT_APP_VERSION_NAME=$VersionName/' docker-compose.yml" + $sedCmd = "cd $RemoteDir; sed -i 's/BOLLWERK_APP_VERSION_CODE=.*/BOLLWERK_APP_VERSION_CODE=$VersionCode/' docker-compose.yml; sed -i 's/BOLLWERK_APP_VERSION_NAME=.*/BOLLWERK_APP_VERSION_NAME=$VersionName/' docker-compose.yml" ssh $VPS $sedCmd } else { # Erstmalig hinzufügen (nach JWT_SECRET-Zeile) - $addCmd = "cd $RemoteDir; sed -i '/KRISENVORRAT_JWT_SECRET/a\ - KRISENVORRAT_APP_VERSION_CODE=$VersionCode' docker-compose.yml; sed -i '/KRISENVORRAT_APP_VERSION_CODE/a\ - KRISENVORRAT_APP_VERSION_NAME=$VersionName' docker-compose.yml" + $addCmd = "cd $RemoteDir; sed -i '/BOLLWERK_JWT_SECRET/a\ - BOLLWERK_APP_VERSION_CODE=$VersionCode' docker-compose.yml; sed -i '/BOLLWERK_APP_VERSION_CODE/a\ - BOLLWERK_APP_VERSION_NAME=$VersionName' docker-compose.yml" ssh $VPS $addCmd } if ($LASTEXITCODE -ne 0) { Write-Error "Version-Update fehlgeschlagen."; exit 1 } diff --git a/.github/skills/ship/watch-pipeline.ps1 b/.github/skills/ship/watch-pipeline.ps1 index 3d0e4d4..f8a4841 100644 --- a/.github/skills/ship/watch-pipeline.ps1 +++ b/.github/skills/ship/watch-pipeline.ps1 @@ -21,7 +21,7 @@ param( [string]$ExpectedSha = "" ) -$repo = "jreinemann-euris/krisenvorrat" +$repo = "jreinemann-euris/bollwerk" $poll = 10 # --- Warten --- diff --git a/.github/skills/vps-deploy/SKILL.md b/.github/skills/vps-deploy/SKILL.md index f0313d8..7a8302d 100644 --- a/.github/skills/vps-deploy/SKILL.md +++ b/.github/skills/vps-deploy/SKILL.md @@ -5,7 +5,7 @@ description: "Server auf den VPS (1984 Hosting, Island) deployen, Docker-Contain # Skill: VPS Deploy -Deployt den Krisenvorrat Ktor-Server auf den 1984 Hosting VPS in Island. +Deployt den Bollwerk Ktor-Server auf den 1984 Hosting VPS in Island. --- @@ -23,7 +23,7 @@ Deployt den Krisenvorrat Ktor-Server auf den 1984 Hosting VPS in Island. | Disk | 25 GB SSD | | Transfer | 1 TB/Monat | | Docker | Docker CE 29.x + docker-compose-plugin | -| App-Verzeichnis | `/opt/krisenvorrat/` | +| App-Verzeichnis | `/opt/bollwerk/` | --- @@ -59,7 +59,7 @@ ssh-add -l | Fingerprint | `SHA256:J/qjVt9r8CqnoshZFQWutau+3KG7JxDzRLHPyX41+gA` | | Private Key | `C:\Users\JensR\.ssh\id_ed25519` (passphrase-geschützt) | | Public Key | `C:\Users\JensR\.ssh\id_ed25519.pub` | -| Kommentar | `krisenvorrat-vps` | +| Kommentar | `bollwerk-vps` | --- @@ -69,27 +69,27 @@ ssh-add -l ```powershell # 1. Fat-JAR lokal bauen -cd x:\krisenvorrat +cd x:\bollwerk .\gradlew.bat :server:buildFatJar # 2. JAR auf VPS kopieren -scp x:\krisenvorrat\server\build\libs\server.jar root@195.246.231.210:/opt/krisenvorrat/server.jar +scp x:\bollwerk\server\build\libs\server.jar root@195.246.231.210:/opt/bollwerk/server.jar # 3. Container neu bauen und starten -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose up -d --build" +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose up -d --build" ``` ### Nur Container neustarten (ohne neues JAR) ```powershell -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose restart" +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose restart" ``` --- ## Docker-Konfiguration auf dem VPS -### Dockerfile (`/opt/krisenvorrat/Dockerfile`) +### Dockerfile (`/opt/bollwerk/Dockerfile`) ```dockerfile FROM eclipse-temurin:21-jre-alpine @@ -101,18 +101,18 @@ ENTRYPOINT ["java", "-Xmx384m", "-jar", "server.jar"] **Hinweis:** `-Xmx384m` begrenzt den JVM-Heap, weil der VPS nur 1 GB RAM hat. -### docker-compose.yml (`/opt/krisenvorrat/docker-compose.yml`) +### docker-compose.yml (`/opt/bollwerk/docker-compose.yml`) ```yaml services: - krisenvorrat: + bollwerk: build: . - container_name: krisenvorrat-server + container_name: bollwerk-server restart: unless-stopped ports: - '8080:8080' environment: - - KRISENVORRAT_JWT_SECRET= + - BOLLWERK_JWT_SECRET= volumes: - ./data:/app/data ``` @@ -130,14 +130,14 @@ Der Server nutzt JWT-basierte Authentifizierung (kein API-Key mehr). - **Admin-UI:** `http://195.246.231.210:8080/admin/` - **Admin-User:** `admin` - **Admin-Passwort:** Der User muss das Passwort selbst eingeben. Es ist NICHT gespeichert – bei Bedarf den User fragen. -- Beim ersten Start ohne `KRISENVORRAT_ADMIN_PASSWORD` ENV wird ein zufälliges Passwort generiert und in die Logs geschrieben. +- Beim ersten Start ohne `BOLLWERK_ADMIN_PASSWORD` ENV wird ein zufälliges Passwort generiert und in die Logs geschrieben. ### Environment-Variablen | Variable | Pflicht | Beschreibung | | ------------------------------- | ------- | --------------------------------------------------- | -| `KRISENVORRAT_JWT_SECRET` | ja | Secret für JWT-Token-Signierung (mind. 32 Zeichen) | -| `KRISENVORRAT_ADMIN_PASSWORD` | nein | Admin-Passwort beim ersten Start (sonst auto-gen.) | +| `BOLLWERK_JWT_SECRET` | ja | Secret für JWT-Token-Signierung (mind. 32 Zeichen) | +| `BOLLWERK_ADMIN_PASSWORD` | nein | Admin-Passwort beim ersten Start (sonst auto-gen.) | --- @@ -173,10 +173,10 @@ ssh root@195.246.231.210 "docker ps" ```powershell # Letzte 50 Zeilen -ssh root@195.246.231.210 "docker logs krisenvorrat-server --tail 50" +ssh root@195.246.231.210 "docker logs bollwerk-server --tail 50" # Live-Logs (Ctrl+C zum Beenden) -ssh root@195.246.231.210 "docker logs krisenvorrat-server -f" +ssh root@195.246.231.210 "docker logs bollwerk-server -f" ``` ### Health-Check @@ -192,9 +192,9 @@ ssh root@195.246.231.210 "curl -s http://localhost:8080/api/health" ### Container stoppen/starten ```powershell -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose stop" -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose start" -ssh root@195.246.231.210 "cd /opt/krisenvorrat && docker compose down" # Container entfernen +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose stop" +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose start" +ssh root@195.246.231.210 "cd /opt/bollwerk && docker compose down" # Container entfernen ``` ### RAM-Nutzung prüfen @@ -205,7 +205,7 @@ ssh root@195.246.231.210 "free -h && echo '---' && docker stats --no-stream" ### Daten-Persistenz -Die SQLite-Datenbank wird unter `/opt/krisenvorrat/data/` auf dem Host gemountet und überlebt Container-Neustarts. +Die SQLite-Datenbank wird unter `/opt/bollwerk/data/` auf dem Host gemountet und überlebt Container-Neustarts. --- @@ -214,5 +214,5 @@ Die SQLite-Datenbank wird unter `/opt/krisenvorrat/data/` auf dem Host gemountet - **1 GB RAM:** JVM-Heap auf 384 MB begrenzt. Kein Spielraum für weitere Dienste. - **Kein HTTPS:** Server läuft aktuell nur auf HTTP Port 8080. Für HTTPS → Caddy als Reverse Proxy einrichten. - **Kein CI/CD:** Deployment ist manuell (JAR bauen → scp → docker compose up). Ggf. GitHub Actions Pipeline ergänzen. -- **Dockerfile lokal:** Das Dockerfile auf dem VPS (`/opt/krisenvorrat/Dockerfile`) ist ein schlankes Runtime-Only-Image. Das Multi-Stage-Dockerfile im Repo-Root ist für lokale Builds gedacht. +- **Dockerfile lokal:** Das Dockerfile auf dem VPS (`/opt/bollwerk/Dockerfile`) ist ein schlankes Runtime-Only-Image. Das Multi-Stage-Dockerfile im Repo-Root ist für lokale Builds gedacht. - **SSH-Escape-Problem:** Beim Schreiben von Dateien via SSH-Heredoc werden JSON-Quotes zerstört. Dateien immer lokal erstellen und per `scp` hochladen. diff --git a/Anforderungen/anforderungen-v1.md b/Anforderungen/anforderungen-v1.md index d836738..7556f56 100644 --- a/Anforderungen/anforderungen-v1.md +++ b/Anforderungen/anforderungen-v1.md @@ -1,4 +1,4 @@ -# Krisenvorrat Inventar-App – Anforderungen +# Bollwerk Inventar-App – Anforderungen **Version:** 1.0 **Datum:** 2026-05-13 @@ -8,7 +8,7 @@ ## 1. Projektziel -Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App speichert alle Daten lokal als JSON und ermöglicht späteren Datenaustausch über einen REST-Server. Verteilung erfolgt via APK-Sideloading (kein Google Play Store) – rein privater Gebrauch. +Eine native Android-App zur Verwaltung eines Bollwerks-Inventars. Die App speichert alle Daten lokal als JSON und ermöglicht späteren Datenaustausch über einen REST-Server. Verteilung erfolgt via APK-Sideloading (kein Google Play Store) – rein privater Gebrauch. --- @@ -117,7 +117,7 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp - **Design:** Klar, funktional, industriell – Material 3 Komponenten - **Navigation:** Bottom Navigation Bar (Übersicht / Inventur / Warnungen / Einstellungen) - **Eingabe:** Große Touch-Targets, Dropdown für Einheiten/Kategorien/Lagerorte -- **Farbschema:** Dark Theme (Dunkelgrün / Anthrazit) – Krisenvorrat-Ästhetik, gut lesbar +- **Farbschema:** Dark Theme (Dunkelgrün / Anthrazit) – Bollwerk-Ästhetik, gut lesbar --- diff --git a/Anforderungen/design/candidates.md b/Anforderungen/design/candidates.md index 2553db7..83a1314 100644 --- a/Anforderungen/design/candidates.md +++ b/Anforderungen/design/candidates.md @@ -12,7 +12,7 @@ Requirements file: anforderungen-v1.md + Anforderungen/design/requirements.md | Name | Seed-Hex | Primär (Dark) | Charakter | M3-kompatibel | Lesbarkeit | Score | | ----------------------- | --------- | ------------------- | ----------------------------------------- | ------------- | ---------- | ----- | | A1 – Forest Green | `#2E7D32` | `#6EC072` (tone 80) | Klassisch dunkelgrün, bekannt, klar | ✅ | ✅ | 8 | -| A2 – Olivgrün / Militär | `#4A6741` | `#9CCB91` (tone 80) | Gedeckt, olivfarben, "Krisenvorrat"-Thema | ✅ | ✅ | 9 | +| A2 – Olivgrün / Militär | `#4A6741` | `#9CCB91` (tone 80) | Gedeckt, olivfarben, "Bollwerk"-Thema | ✅ | ✅ | 9 | | A3 – Dunkelgrün Pure | `#1B5E20` | `#54BA5B` (tone 80) | Sehr satt, fast schwarz-grün, industriell | ✅ | ✅ | 7 | | A4 – Waldgrün warm | `#3A5F3A` | `#8FCC8F` (tone 80) | Warm, natürlich, dezent | ✅ | ✅ | 8 | @@ -28,13 +28,13 @@ Requirements file: anforderungen-v1.md + Anforderungen/design/requirements.md - ✅ Must: Alle erfüllt - ✅ Should: Erkennbarer Charakter, solide Kontraste -- ⚠️ Missing: Nicht maximale "Krisenvorrat"-Eigenständigkeit – wirkt leicht wie Standard-Material-Grün +- ⚠️ Missing: Nicht maximale "Bollwerk"-Eigenständigkeit – wirkt leicht wie Standard-Material-Grün #### A2 – Olivgrün / Militärgrün (`#4A6741`) -**Charakter:** Gedämpftes Oliv-Grün, militärische/Outdoor-Assoziation. Sehr gut zum Krisenvorrat-Kontext. +**Charakter:** Gedämpftes Oliv-Grün, militärische/Outdoor-Assoziation. Sehr gut zum Bollwerk-Kontext. **Dark-Theme-Primary:** ~`#9CCB91` – warmes, helles Olivgrün auf dunklem Hintergrund. -**Surfaces (Dark):** `#14191A` – leicht grünlich-anthrazit, sehr angenehm für den Ausdruck "Krisenvorrat". +**Surfaces (Dark):** `#14191A` – leicht grünlich-anthrazit, sehr angenehm für den Ausdruck "Bollwerk". - ✅ Must: Alle erfüllt - ✅ Should: Maximale thematische Eigenständigkeit, excellent Lesbarkeit @@ -86,7 +86,7 @@ MaterialTheme(colorScheme = DarkColorScheme) { ... } ``` - ✅ Funktioniert auf allen Android-Versionen -- ✅ Konsistente "Krisenvorrat"-Markenidentität bei jedem User +- ✅ Konsistente "Bollwerk"-Markenidentität bei jedem User - ✅ Einfache Implementierung, geringer Wartungsaufwand - ✅ Die grün/anthrazite Ästhetik wird IMMER angezeigt @@ -100,12 +100,12 @@ val colorScheme = if (Build.VERSION.SDK_INT >= 31) { - 🔴 Verliert grüne Ästhetik – App sieht aus wie jede andere App - 🔴 Schließt Android 8–11 aus (>30% Marktanteil) -- ❌ Does not fit: "Krisenvorrat-Ästhetik" ist explizit gefordert +- ❌ Does not fit: "Bollwerk-Ästhetik" ist explizit gefordert #### B3 – Hybrid - ⚠️ Komplexität ohne echten Mehrwert für diesen Use Case -- ⚠️ Auf Android 12+ weicht die "Krisenvorrat"-Ästhetik ab +- ⚠️ Auf Android 12+ weicht die "Bollwerk"-Ästhetik ab --- @@ -224,13 +224,13 @@ Decided by: User ### A – Seed Color **Gewählt:** `#4A6741` (Olivgrün / Militärgrün) -**Begründung:** Passt thematisch optimal zum Krisenvorrat-Kontext. Material 3 generiert daraus einen anthrazitgrünen Dark-Theme-Look mit dezenter Grün-Tönung der Surfaces. +**Begründung:** Passt thematisch optimal zum Bollwerk-Kontext. Material 3 generiert daraus einen anthrazitgrünen Dark-Theme-Look mit dezenter Grün-Tönung der Surfaces. **Alternativen:** `#2E7D32` (Forest Green, zu generisch), `#1B5E20` (zu dunkel), `#3A5F3A` (zu ähnlich zu Forest Green) ### B – Dynamic Color **Gewählt:** Fixed Custom Palette (B1) -**Begründung:** App-Identität ("Krisenvorrat"-Ästhetik) muss konsistent bleiben. Dynamic Color würde das grüne Branding überschreiben. Fixed Palette funktioniert auf allen Android-Versionen. +**Begründung:** App-Identität ("Bollwerk"-Ästhetik) muss konsistent bleiben. Dynamic Color würde das grüne Branding überschreiben. Fixed Palette funktioniert auf allen Android-Versionen. **Alternativen:** Dynamic Color (verliert Branding), Hybrid (unnötige Komplexität) ### C – Typography diff --git a/Anforderungen/design/db-migration/requirements.md b/Anforderungen/design/db-migration/requirements.md index d5d449d..e26b16b 100644 --- a/Anforderungen/design/db-migration/requirements.md +++ b/Anforderungen/design/db-migration/requirements.md @@ -1,7 +1,7 @@ # Technology Requirements – DB-Migrationsstrategie Date: 2026-05-17 -Author: Krisenvorrat-Projekt +Author: Bollwerk-Projekt ## Must-Have (eliminators) diff --git a/Anforderungen/design/requirements.md b/Anforderungen/design/requirements.md index 059fff0..50c8f20 100644 --- a/Anforderungen/design/requirements.md +++ b/Anforderungen/design/requirements.md @@ -14,7 +14,7 @@ Vor der Implementierung der ersten UI-Screens müssen vier visuelle Designentsch - **Stil:** Klar, funktional, industriell - **UI-Framework:** Material 3 Komponenten -- **Farbschema:** Dark Theme, Dunkelgrün / Anthrazit – "Krisenvorrat-Ästhetik", gut lesbar +- **Farbschema:** Dark Theme, Dunkelgrün / Anthrazit – "Bollwerk-Ästhetik", gut lesbar --- @@ -29,7 +29,7 @@ Vor der Implementierung der ersten UI-Screens müssen vier visuelle Designentsch ### Should-Have -- "Waldgrün / Olivgrün / Militärgrün"-Anmutung (passt zum Thema Krisenvorrat) +- "Waldgrün / Olivgrün / Militärgrün"-Anmutung (passt zum Thema Bollwerk) - Anthrazit-Töne für Oberflächen (nicht reines Schwarz, nicht Hellgrau) - Erkennbarer visueller Charakter – App soll eigenständig aussehen diff --git a/Anforderungen/design/server-tech/adr-server-technology.md b/Anforderungen/design/server-tech/adr-server-technology.md index 19496eb..8404a95 100644 --- a/Anforderungen/design/server-tech/adr-server-technology.md +++ b/Anforderungen/design/server-tech/adr-server-technology.md @@ -8,7 +8,7 @@ ## Kontext -Die Krisenvorrat-App (Android/Kotlin) benötigt in Phase 2 einen REST-Server für die Synchronisierung und das Sharing des Inventars zwischen mehreren Geräten. Der Server wird im privaten Umfeld eingesetzt (2–10 Geräte, wenig Last) und soll einfach auf einem kleinen Linux-VPS oder Homeserver deploybar sein. +Die Bollwerk-App (Android/Kotlin) benötigt in Phase 2 einen REST-Server für die Synchronisierung und das Sharing des Inventars zwischen mehreren Geräten. Der Server wird im privaten Umfeld eingesetzt (2–10 Geräte, wenig Last) und soll einfach auf einem kleinen Linux-VPS oder Homeserver deploybar sein. Das bestehende Client-Datenmodell nutzt kotlinx.serialization für JSON-Export/Import. diff --git a/Anforderungen/design/server-tech/requirements.md b/Anforderungen/design/server-tech/requirements.md index 62708bd..e0121df 100644 --- a/Anforderungen/design/server-tech/requirements.md +++ b/Anforderungen/design/server-tech/requirements.md @@ -8,7 +8,7 @@ Author: Tech-Decision Workflow ## Kontext -Die Krisenvorrat-App (Android/Kotlin) speichert in v1.0 alle Daten lokal (Room/SQLite). In Phase 2 soll ein REST-Server hinzukommen, der die Synchronisierung und das Sharing des Inventars zwischen mehreren Geräten ermöglicht. +Die Bollwerk-App (Android/Kotlin) speichert in v1.0 alle Daten lokal (Room/SQLite). In Phase 2 soll ein REST-Server hinzukommen, der die Synchronisierung und das Sharing des Inventars zwischen mehreren Geräten ermöglicht. **Einsatzszenario:** diff --git a/README.md b/README.md index b0df32c..c9daa55 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Krisenvorrat +# Bollwerk -Android-App zur Verwaltung eines Krisenvorrats-Inventars mit lokaler Datenhaltung und Sync-Möglichkeit über einen LAN-Server. +Android-App zur Verwaltung eines Bollwerks-Inventars mit lokaler Datenhaltung und Sync-Möglichkeit über einen LAN-Server. ## Projektstruktur @@ -94,15 +94,15 @@ java -jar server/build/libs/server.jar ```bash # Image bauen -docker build -t krisenvorrat-server . +docker build -t bollwerk-server . # Container starten docker run -d \ - --name krisenvorrat \ + --name bollwerk \ -p 8080:8080 \ - -e KRISENVORRAT_API_KEY="mein-sicherer-api-key" \ - -v krisenvorrat-data:/app/data \ - krisenvorrat-server + -e BOLLWERK_API_KEY="mein-sicherer-api-key" \ + -v bollwerk-data:/app/data \ + bollwerk-server ``` ### LAN-Setup @@ -113,7 +113,7 @@ docker run -d \ - Die Start-Skripte zeigen die IP automatisch an 2. **Firewall-Regel:** Port **8080** (TCP eingehend) muss freigeschaltet sein: - - Windows: `netsh advfirewall firewall add rule name="Krisenvorrat" dir=in action=allow protocol=TCP localport=8080` + - Windows: `netsh advfirewall firewall add rule name="Bollwerk" dir=in action=allow protocol=TCP localport=8080` - Linux: `sudo ufw allow 8080/tcp` 3. **App konfigurieren:** @@ -134,7 +134,7 @@ docker run -d \ | Variable | Standard | Beschreibung | |-----------------------|-------------------------------------------------|-------------------| -| `KRISENVORRAT_API_KEY` | `change-me-to-a-secure-key-at-least-32-chars` | API-Key für Auth | +| `BOLLWERK_API_KEY` | `change-me-to-a-secure-key-at-least-32-chars` | API-Key für Auth | ### Sicherheitshinweise diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 692e031..80d33c4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -8,11 +8,11 @@ plugins { } android { - namespace = "de.krisenvorrat.app" + namespace = "de.bollwerk.app" compileSdk = 35 defaultConfig { - applicationId = "de.krisenvorrat.app" + applicationId = "de.bollwerk.app" minSdk = 26 targetSdk = 35 versionCode = 3 diff --git a/app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/2.json b/app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/2.json similarity index 100% rename from app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/2.json rename to app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/2.json diff --git a/app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/3.json b/app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/3.json similarity index 100% rename from app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/3.json rename to app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/3.json diff --git a/app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/4.json b/app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/4.json similarity index 100% rename from app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/4.json rename to app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/4.json diff --git a/app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/5.json b/app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/5.json similarity index 100% rename from app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/5.json rename to app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/5.json diff --git a/app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/6.json b/app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/6.json similarity index 100% rename from app/schemas/de.krisenvorrat.app.data.db.KrisenvorratDatabase/6.json rename to app/schemas/de.bollwerk.app.data.db.BollwerkDatabase/6.json diff --git a/app/src/androidTest/java/de/krisenvorrat/app/data/db/KrisenvorratDatabaseMigrationTest.kt b/app/src/androidTest/java/de/bollwerk/app/data/db/BollwerkDatabaseMigrationTest.kt similarity index 84% rename from app/src/androidTest/java/de/krisenvorrat/app/data/db/KrisenvorratDatabaseMigrationTest.kt rename to app/src/androidTest/java/de/bollwerk/app/data/db/BollwerkDatabaseMigrationTest.kt index 0fde9af..d405e1c 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/data/db/KrisenvorratDatabaseMigrationTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/data/db/BollwerkDatabaseMigrationTest.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.db +package de.bollwerk.app.data.db import androidx.room.Room import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.LocationEntity import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.After @@ -22,9 +22,9 @@ import org.junit.runner.RunWith * Neue AutoMigrations werden automatisch durch Room validiert. */ @RunWith(AndroidJUnit4::class) -internal class KrisenvorratDatabaseMigrationTest { +internal class BollwerkDatabaseMigrationTest { - private val dbName = "krisenvorrat-migration-test.db" + private val dbName = "bollwerk-migration-test.db" private val context get() = InstrumentationRegistry.getInstrumentation().targetContext @Before @@ -39,7 +39,7 @@ internal class KrisenvorratDatabaseMigrationTest { @Test fun freshInstall_allTablesExist() { - val db = Room.inMemoryDatabaseBuilder(context, KrisenvorratDatabase::class.java) + val db = Room.inMemoryDatabaseBuilder(context, BollwerkDatabase::class.java) .build() try { val tables = mutableListOf() @@ -64,7 +64,7 @@ internal class KrisenvorratDatabaseMigrationTest { @Test fun freshInstall_crudOperationsWork() { - val db = Room.inMemoryDatabaseBuilder(context, KrisenvorratDatabase::class.java) + val db = Room.inMemoryDatabaseBuilder(context, BollwerkDatabase::class.java) .build() try { runBlocking { diff --git a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/CategoryDaoTest.kt b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/CategoryDaoTest.kt similarity index 90% rename from app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/CategoryDaoTest.kt rename to app/src/androidTest/java/de/bollwerk/app/data/db/dao/CategoryDaoTest.kt index 061a401..46c38b5 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/CategoryDaoTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/CategoryDaoTest.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import de.krisenvorrat.app.data.db.KrisenvorratDatabase -import de.krisenvorrat.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.BollwerkDatabase +import de.bollwerk.app.data.db.entity.CategoryEntity import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.After @@ -17,14 +17,14 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) internal class CategoryDaoTest { - private lateinit var db: KrisenvorratDatabase + private lateinit var db: BollwerkDatabase private lateinit var dao: CategoryDao @Before fun setup() { db = Room.inMemoryDatabaseBuilder( ApplicationProvider.getApplicationContext(), - KrisenvorratDatabase::class.java + BollwerkDatabase::class.java ).allowMainThreadQueries().build() dao = db.categoryDao() } diff --git a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/ItemDaoTest.kt b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/ItemDaoTest.kt similarity index 93% rename from app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/ItemDaoTest.kt rename to app/src/androidTest/java/de/bollwerk/app/data/db/dao/ItemDaoTest.kt index ecc3b50..e9af32c 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/ItemDaoTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/ItemDaoTest.kt @@ -1,12 +1,12 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import de.krisenvorrat.app.data.db.KrisenvorratDatabase -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.BollwerkDatabase +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.After @@ -20,14 +20,14 @@ import java.time.LocalDate @RunWith(AndroidJUnit4::class) internal class ItemDaoTest { - private lateinit var db: KrisenvorratDatabase + private lateinit var db: BollwerkDatabase private lateinit var dao: ItemDao @Before fun setup() { db = Room.inMemoryDatabaseBuilder( ApplicationProvider.getApplicationContext(), - KrisenvorratDatabase::class.java + BollwerkDatabase::class.java ).allowMainThreadQueries().build() dao = db.itemDao() runBlocking { diff --git a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/LocationDaoTest.kt b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/LocationDaoTest.kt similarity index 90% rename from app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/LocationDaoTest.kt rename to app/src/androidTest/java/de/bollwerk/app/data/db/dao/LocationDaoTest.kt index f130ca9..b2cbf03 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/LocationDaoTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/LocationDaoTest.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import de.krisenvorrat.app.data.db.KrisenvorratDatabase -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.BollwerkDatabase +import de.bollwerk.app.data.db.entity.LocationEntity import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.After @@ -17,14 +17,14 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) internal class LocationDaoTest { - private lateinit var db: KrisenvorratDatabase + private lateinit var db: BollwerkDatabase private lateinit var dao: LocationDao @Before fun setup() { db = Room.inMemoryDatabaseBuilder( ApplicationProvider.getApplicationContext(), - KrisenvorratDatabase::class.java + BollwerkDatabase::class.java ).allowMainThreadQueries().build() dao = db.locationDao() } diff --git a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/SettingsDaoTest.kt b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/SettingsDaoTest.kt similarity index 87% rename from app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/SettingsDaoTest.kt rename to app/src/androidTest/java/de/bollwerk/app/data/db/dao/SettingsDaoTest.kt index 2e1b7f7..978cf3b 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/data/db/dao/SettingsDaoTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/data/db/dao/SettingsDaoTest.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import de.krisenvorrat.app.data.db.KrisenvorratDatabase -import de.krisenvorrat.app.data.db.entity.SettingsEntity +import de.bollwerk.app.data.db.BollwerkDatabase +import de.bollwerk.app.data.db.entity.SettingsEntity import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.After @@ -17,14 +17,14 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) internal class SettingsDaoTest { - private lateinit var db: KrisenvorratDatabase + private lateinit var db: BollwerkDatabase private lateinit var dao: SettingsDao @Before fun setup() { db = Room.inMemoryDatabaseBuilder( ApplicationProvider.getApplicationContext(), - KrisenvorratDatabase::class.java + BollwerkDatabase::class.java ).allowMainThreadQueries().build() dao = db.settingsDao() } diff --git a/app/src/androidTest/java/de/krisenvorrat/app/di/DatabaseModuleTest.kt b/app/src/androidTest/java/de/bollwerk/app/di/DatabaseModuleTest.kt similarity index 83% rename from app/src/androidTest/java/de/krisenvorrat/app/di/DatabaseModuleTest.kt rename to app/src/androidTest/java/de/bollwerk/app/di/DatabaseModuleTest.kt index 7908a4a..00b263b 100644 --- a/app/src/androidTest/java/de/krisenvorrat/app/di/DatabaseModuleTest.kt +++ b/app/src/androidTest/java/de/bollwerk/app/di/DatabaseModuleTest.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import android.content.Context import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import de.krisenvorrat.app.data.db.KrisenvorratDatabase +import de.bollwerk.app.data.db.BollwerkDatabase import org.junit.After import org.junit.Assert.assertNotNull import org.junit.Test @@ -13,7 +13,7 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) internal class DatabaseModuleTest { - private lateinit var db: KrisenvorratDatabase + private lateinit var db: BollwerkDatabase @After fun tearDown() { @@ -29,7 +29,7 @@ internal class DatabaseModuleTest { val module = DatabaseModule // When - db = Room.inMemoryDatabaseBuilder(context, KrisenvorratDatabase::class.java) + db = Room.inMemoryDatabaseBuilder(context, BollwerkDatabase::class.java) .allowMainThreadQueries() .build() val itemDao = module.provideItemDao(db) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 21864b5..15d0cc0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,19 +5,19 @@ + android:theme="@style/Theme.Bollwerk"> + android:theme="@style/Theme.Bollwerk"> diff --git a/app/src/main/java/de/krisenvorrat/app/KrisenvorratApp.kt b/app/src/main/java/de/bollwerk/app/BollwerkApp.kt similarity index 57% rename from app/src/main/java/de/krisenvorrat/app/KrisenvorratApp.kt rename to app/src/main/java/de/bollwerk/app/BollwerkApp.kt index bb636ad..6b7fa60 100644 --- a/app/src/main/java/de/krisenvorrat/app/KrisenvorratApp.kt +++ b/app/src/main/java/de/bollwerk/app/BollwerkApp.kt @@ -1,7 +1,7 @@ -package de.krisenvorrat.app +package de.bollwerk.app import android.app.Application import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp -class KrisenvorratApp : Application() +class BollwerkApp : Application() diff --git a/app/src/main/java/de/krisenvorrat/app/MainActivity.kt b/app/src/main/java/de/bollwerk/app/MainActivity.kt similarity index 79% rename from app/src/main/java/de/krisenvorrat/app/MainActivity.kt rename to app/src/main/java/de/bollwerk/app/MainActivity.kt index 3cea8d3..ede6a80 100644 --- a/app/src/main/java/de/krisenvorrat/app/MainActivity.kt +++ b/app/src/main/java/de/bollwerk/app/MainActivity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app +package de.bollwerk.app import android.os.Bundle import androidx.activity.ComponentActivity @@ -10,9 +10,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.lifecycleScope import dagger.hilt.android.AndroidEntryPoint -import de.krisenvorrat.app.domain.usecase.SeedDatabaseUseCase -import de.krisenvorrat.app.ui.MainScreen -import de.krisenvorrat.app.ui.theme.KrisenvorratTheme +import de.bollwerk.app.domain.usecase.SeedDatabaseUseCase +import de.bollwerk.app.ui.MainScreen +import de.bollwerk.app.ui.theme.BollwerkTheme import kotlinx.coroutines.launch import javax.inject.Inject @@ -26,7 +26,7 @@ class MainActivity : ComponentActivity() { lifecycleScope.launch { seedDatabaseUseCase() } enableEdgeToEdge() setContent { - KrisenvorratTheme { + BollwerkTheme { MainScreen() } } @@ -36,9 +36,9 @@ class MainActivity : ComponentActivity() { @Preview(showBackground = true) @Composable fun DefaultPreview() { - KrisenvorratTheme { + BollwerkTheme { Text( - text = "Krisenvorrat", + text = "Bollwerk", style = MaterialTheme.typography.headlineLarge ) } diff --git a/app/src/main/java/de/krisenvorrat/app/data/.gitkeep b/app/src/main/java/de/bollwerk/app/data/.gitkeep similarity index 100% rename from app/src/main/java/de/krisenvorrat/app/data/.gitkeep rename to app/src/main/java/de/bollwerk/app/data/.gitkeep diff --git a/app/src/main/java/de/bollwerk/app/data/db/BollwerkDatabase.kt b/app/src/main/java/de/bollwerk/app/data/db/BollwerkDatabase.kt new file mode 100644 index 0000000..3099702 --- /dev/null +++ b/app/src/main/java/de/bollwerk/app/data/db/BollwerkDatabase.kt @@ -0,0 +1,32 @@ +package de.bollwerk.app.data.db + +import androidx.room.Database +import androidx.room.RoomDatabase +import androidx.room.TypeConverters +import de.bollwerk.app.data.db.dao.CategoryDao +import de.bollwerk.app.data.db.dao.ItemDao +import de.bollwerk.app.data.db.dao.LocationDao +import de.bollwerk.app.data.db.dao.MessageDao +import de.bollwerk.app.data.db.dao.PendingSyncOpDao +import de.bollwerk.app.data.db.dao.SettingsDao +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.MessageEntity +import de.bollwerk.app.data.db.entity.PendingSyncOpEntity +import de.bollwerk.app.data.db.entity.SettingsEntity + +@Database( + entities = [CategoryEntity::class, LocationEntity::class, ItemEntity::class, SettingsEntity::class, PendingSyncOpEntity::class, MessageEntity::class], + version = 6, + exportSchema = true +) +@TypeConverters(LocalDateConverter::class) +internal abstract class BollwerkDatabase : RoomDatabase() { + abstract fun categoryDao(): CategoryDao + abstract fun locationDao(): LocationDao + abstract fun itemDao(): ItemDao + abstract fun settingsDao(): SettingsDao + abstract fun pendingSyncOpDao(): PendingSyncOpDao + abstract fun messageDao(): MessageDao +} diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/LocalDateConverter.kt b/app/src/main/java/de/bollwerk/app/data/db/LocalDateConverter.kt similarity index 89% rename from app/src/main/java/de/krisenvorrat/app/data/db/LocalDateConverter.kt rename to app/src/main/java/de/bollwerk/app/data/db/LocalDateConverter.kt index de394e4..4c49599 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/LocalDateConverter.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/LocalDateConverter.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db +package de.bollwerk.app.data.db import androidx.room.TypeConverter import java.time.LocalDate diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/Migrations.kt b/app/src/main/java/de/bollwerk/app/data/db/Migrations.kt similarity index 66% rename from app/src/main/java/de/krisenvorrat/app/data/db/Migrations.kt rename to app/src/main/java/de/bollwerk/app/data/db/Migrations.kt index 8422056..9ea3601 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/Migrations.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/Migrations.kt @@ -1,16 +1,16 @@ -package de.krisenvorrat.app.data.db +package de.bollwerk.app.data.db /** - * Room-Migrationen der Krisenvorrat-Datenbank. + * Room-Migrationen der Bollwerk-Datenbank. * * Ab Version 6 nutzt die App Room @AutoMigration für Schema-Änderungen. * Manuelle Migrationen werden nur noch benötigt, wenn AutoMigration nicht * ausreicht (z.B. Table-Rebuild, Daten-Transformation). * * Checkliste für neue Schema-Änderungen: - * 1. DB-Version in [KrisenvorratDatabase] hochzählen + * 1. DB-Version in [BollwerkDatabase] hochzählen * 2. @AutoMigration(from = X, to = Y) in der @Database-Annotation ergänzen * 3. Falls AutoMigration nicht reicht: Migration(X, Y) hier ergänzen - * und in [de.krisenvorrat.app.di.DatabaseModule].addMigrations() eintragen + * und in [de.bollwerk.app.di.DatabaseModule].addMigrations() eintragen */ internal object Migrations diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/CategoryDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/CategoryDao.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/CategoryDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/CategoryDao.kt index ca31684..eb17b82 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/CategoryDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/CategoryDao.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Delete @@ -6,7 +6,7 @@ import androidx.room.Insert import androidx.room.Query import androidx.room.Update import androidx.room.Upsert -import de.krisenvorrat.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.CategoryEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/ItemDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/ItemDao.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/ItemDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/ItemDao.kt index 9030753..82a0547 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/ItemDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/ItemDao.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Delete @@ -6,7 +6,7 @@ import androidx.room.Insert import androidx.room.Query import androidx.room.Update import androidx.room.Upsert -import de.krisenvorrat.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.ItemEntity import kotlinx.coroutines.flow.Flow import java.time.LocalDate diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/LocationDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/LocationDao.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/LocationDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/LocationDao.kt index 3bba19d..1349d11 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/LocationDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/LocationDao.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Delete @@ -6,7 +6,7 @@ import androidx.room.Insert import androidx.room.Query import androidx.room.Update import androidx.room.Upsert -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.LocationEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/MessageDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/MessageDao.kt similarity index 90% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/MessageDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/MessageDao.kt index 20e2569..093277b 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/MessageDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/MessageDao.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Upsert -import de.krisenvorrat.app.data.db.entity.MessageEntity +import de.bollwerk.app.data.db.entity.MessageEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/PendingSyncOpDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/PendingSyncOpDao.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/PendingSyncOpDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/PendingSyncOpDao.kt index 35018de..5dad3d8 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/PendingSyncOpDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/PendingSyncOpDao.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query -import de.krisenvorrat.app.data.db.entity.PendingSyncOpEntity +import de.bollwerk.app.data.db.entity.PendingSyncOpEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/dao/SettingsDao.kt b/app/src/main/java/de/bollwerk/app/data/db/dao/SettingsDao.kt similarity index 85% rename from app/src/main/java/de/krisenvorrat/app/data/db/dao/SettingsDao.kt rename to app/src/main/java/de/bollwerk/app/data/db/dao/SettingsDao.kt index a9dfb8d..d11f3ca 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/dao/SettingsDao.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/dao/SettingsDao.kt @@ -1,9 +1,9 @@ -package de.krisenvorrat.app.data.db.dao +package de.bollwerk.app.data.db.dao import androidx.room.Dao import androidx.room.Query import androidx.room.Upsert -import de.krisenvorrat.app.data.db.entity.SettingsEntity +import de.bollwerk.app.data.db.entity.SettingsEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/CategoryEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/CategoryEntity.kt similarity index 86% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/CategoryEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/CategoryEntity.kt index 31da700..6873c2b 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/CategoryEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/CategoryEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/ItemEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/ItemEntity.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/ItemEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/ItemEntity.kt index 14d4439..d2a898d 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/ItemEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/ItemEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/LocationEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/LocationEntity.kt similarity index 86% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/LocationEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/LocationEntity.kt index 0d452c6..6ba764b 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/LocationEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/LocationEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/MessageEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/MessageEntity.kt similarity index 92% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/MessageEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/MessageEntity.kt index e310e4b..83fee9a 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/MessageEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/MessageEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/PendingSyncOpEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/PendingSyncOpEntity.kt similarity index 90% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/PendingSyncOpEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/PendingSyncOpEntity.kt index 8d0fcdf..a035008 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/PendingSyncOpEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/PendingSyncOpEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/entity/SettingsEntity.kt b/app/src/main/java/de/bollwerk/app/data/db/entity/SettingsEntity.kt similarity index 85% rename from app/src/main/java/de/krisenvorrat/app/data/db/entity/SettingsEntity.kt rename to app/src/main/java/de/bollwerk/app/data/db/entity/SettingsEntity.kt index aa8e460..35361d0 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/db/entity/SettingsEntity.kt +++ b/app/src/main/java/de/bollwerk/app/data/db/entity/SettingsEntity.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.db.entity +package de.bollwerk.app.data.db.entity import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/de/krisenvorrat/app/data/export/CsvExporter.kt b/app/src/main/java/de/bollwerk/app/data/export/CsvExporter.kt similarity index 90% rename from app/src/main/java/de/krisenvorrat/app/data/export/CsvExporter.kt rename to app/src/main/java/de/bollwerk/app/data/export/CsvExporter.kt index 0ba5037..d7ac542 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/export/CsvExporter.kt +++ b/app/src/main/java/de/bollwerk/app/data/export/CsvExporter.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.data.export +package de.bollwerk.app.data.export -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity import java.time.format.DateTimeFormatter import java.util.Locale diff --git a/app/src/main/java/de/krisenvorrat/app/data/export/DatabaseTransaction.kt b/app/src/main/java/de/bollwerk/app/data/export/DatabaseTransaction.kt similarity index 71% rename from app/src/main/java/de/krisenvorrat/app/data/export/DatabaseTransaction.kt rename to app/src/main/java/de/bollwerk/app/data/export/DatabaseTransaction.kt index baa1020..b50bf62 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/export/DatabaseTransaction.kt +++ b/app/src/main/java/de/bollwerk/app/data/export/DatabaseTransaction.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.export +package de.bollwerk.app.data.export internal fun interface DatabaseTransaction { suspend fun execute(block: suspend () -> Unit) diff --git a/app/src/main/java/de/krisenvorrat/app/data/export/ImportExportRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/export/ImportExportRepositoryImpl.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/data/export/ImportExportRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/export/ImportExportRepositoryImpl.kt index 4739aab..72333e2 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/export/ImportExportRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/export/ImportExportRepositoryImpl.kt @@ -1,22 +1,22 @@ -package de.krisenvorrat.app.data.export +package de.bollwerk.app.data.export -import de.krisenvorrat.app.data.db.dao.CategoryDao -import de.krisenvorrat.app.data.db.dao.ItemDao -import de.krisenvorrat.app.data.db.dao.LocationDao -import de.krisenvorrat.app.data.db.dao.SettingsDao -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.data.db.entity.SettingsEntity -import de.krisenvorrat.app.domain.model.SettingsKeys -import de.krisenvorrat.app.domain.model.parseAgeGroupsFromJson -import de.krisenvorrat.app.domain.model.totalDailyKcal -import de.krisenvorrat.app.domain.repository.ImportExportRepository -import de.krisenvorrat.shared.model.CategoryDto -import de.krisenvorrat.shared.model.InventoryDto -import de.krisenvorrat.shared.model.ItemDto -import de.krisenvorrat.shared.model.LocationDto -import de.krisenvorrat.shared.model.SettingDto +import de.bollwerk.app.data.db.dao.CategoryDao +import de.bollwerk.app.data.db.dao.ItemDao +import de.bollwerk.app.data.db.dao.LocationDao +import de.bollwerk.app.data.db.dao.SettingsDao +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.SettingsEntity +import de.bollwerk.app.domain.model.SettingsKeys +import de.bollwerk.app.domain.model.parseAgeGroupsFromJson +import de.bollwerk.app.domain.model.totalDailyKcal +import de.bollwerk.app.domain.repository.ImportExportRepository +import de.bollwerk.shared.model.CategoryDto +import de.bollwerk.shared.model.InventoryDto +import de.bollwerk.shared.model.ItemDto +import de.bollwerk.shared.model.LocationDto +import de.bollwerk.shared.model.SettingDto import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext @@ -151,7 +151,7 @@ internal class ImportExportRepositoryImpl @Inject constructor( val dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy", Locale.GERMAN) val sb = StringBuilder() - sb.appendLine("# Krisenvorrat Inventar") + sb.appendLine("# Bollwerk Inventar") sb.appendLine() for (category in categories) { diff --git a/app/src/main/java/de/krisenvorrat/app/data/export/PdfExporter.kt b/app/src/main/java/de/bollwerk/app/data/export/PdfExporter.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/data/export/PdfExporter.kt rename to app/src/main/java/de/bollwerk/app/data/export/PdfExporter.kt index 1244a57..620e22a 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/export/PdfExporter.kt +++ b/app/src/main/java/de/bollwerk/app/data/export/PdfExporter.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.data.export +package de.bollwerk.app.data.export import android.graphics.Paint import android.graphics.Typeface import android.graphics.pdf.PdfDocument -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity import java.io.File import java.io.FileOutputStream import java.time.LocalDate @@ -64,7 +64,7 @@ internal object PdfExporter { } // Title - canvas.drawText("Krisenvorrat Inventar", MARGIN_LEFT, yPos, titlePaint) + canvas.drawText("Bollwerk Inventar", MARGIN_LEFT, yPos, titlePaint) yPos += 8f canvas.drawText( "Erstellt am ${LocalDate.now().format(DATE_FORMATTER)}", diff --git a/app/src/main/java/de/krisenvorrat/app/data/remote/OpenAiVisionService.kt b/app/src/main/java/de/bollwerk/app/data/remote/OpenAiVisionService.kt similarity index 97% rename from app/src/main/java/de/krisenvorrat/app/data/remote/OpenAiVisionService.kt rename to app/src/main/java/de/bollwerk/app/data/remote/OpenAiVisionService.kt index 0270d77..982a4d5 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/remote/OpenAiVisionService.kt +++ b/app/src/main/java/de/bollwerk/app/data/remote/OpenAiVisionService.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.data.remote +package de.bollwerk.app.data.remote -import de.krisenvorrat.app.domain.model.ItemFormPrefill +import de.bollwerk.app.domain.model.ItemFormPrefill import io.ktor.client.HttpClient import io.ktor.client.call.body import io.ktor.client.request.bearerAuth diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/ApkInstallerImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/ApkInstallerImpl.kt similarity index 89% rename from app/src/main/java/de/krisenvorrat/app/data/repository/ApkInstallerImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/ApkInstallerImpl.kt index 2837e19..c52e2f3 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/ApkInstallerImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/ApkInstallerImpl.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository import android.content.Context import android.content.Intent import androidx.core.content.FileProvider import dagger.hilt.android.qualifiers.ApplicationContext -import de.krisenvorrat.app.domain.usecase.ApkInstaller +import de.bollwerk.app.domain.usecase.ApkInstaller import java.io.File import javax.inject.Inject diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/CategoryRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/CategoryRepositoryImpl.kt similarity index 76% rename from app/src/main/java/de/krisenvorrat/app/data/repository/CategoryRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/CategoryRepositoryImpl.kt index 3a705a7..1f21121 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/CategoryRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/CategoryRepositoryImpl.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.data.db.dao.CategoryDao -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.domain.repository.CategoryRepository +import de.bollwerk.app.data.db.dao.CategoryDao +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.domain.repository.CategoryRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.withContext diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/ItemRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/ItemRepositoryImpl.kt similarity index 88% rename from app/src/main/java/de/krisenvorrat/app/data/repository/ItemRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/ItemRepositoryImpl.kt index 303d44b..8a884d4 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/ItemRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/ItemRepositoryImpl.kt @@ -1,18 +1,18 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.data.db.dao.ItemDao -import de.krisenvorrat.app.data.db.dao.PendingSyncOpDao -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.PendingSyncOpEntity -import de.krisenvorrat.app.data.sync.WebSocketClient -import de.krisenvorrat.app.data.sync.WebSocketEvent -import de.krisenvorrat.app.di.ApplicationScope -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.SyncError -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.SyncService -import de.krisenvorrat.shared.model.ItemDto +import de.bollwerk.app.data.db.dao.ItemDao +import de.bollwerk.app.data.db.dao.PendingSyncOpDao +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.PendingSyncOpEntity +import de.bollwerk.app.data.sync.WebSocketClient +import de.bollwerk.app.data.sync.WebSocketEvent +import de.bollwerk.app.di.ApplicationScope +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.SyncError +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.SyncService +import de.bollwerk.shared.model.ItemDto import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/LocationRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/LocationRepositoryImpl.kt similarity index 76% rename from app/src/main/java/de/krisenvorrat/app/data/repository/LocationRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/LocationRepositoryImpl.kt index 37dac0f..aeb5353 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/LocationRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/LocationRepositoryImpl.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.data.db.dao.LocationDao -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.domain.repository.LocationRepository +import de.bollwerk.app.data.db.dao.LocationDao +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.domain.repository.LocationRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.withContext diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/MessageRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/MessageRepositoryImpl.kt similarity index 91% rename from app/src/main/java/de/krisenvorrat/app/data/repository/MessageRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/MessageRepositoryImpl.kt index a897ce0..a5ecb90 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/MessageRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/MessageRepositoryImpl.kt @@ -1,15 +1,15 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.data.db.dao.MessageDao -import de.krisenvorrat.app.data.db.entity.MessageEntity -import de.krisenvorrat.app.data.sync.WebSocketClient -import de.krisenvorrat.app.data.sync.WebSocketEvent -import de.krisenvorrat.app.di.ApplicationScope -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.SyncError -import de.krisenvorrat.app.domain.repository.MessageRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.shared.model.UserListItemDto +import de.bollwerk.app.data.db.dao.MessageDao +import de.bollwerk.app.data.db.entity.MessageEntity +import de.bollwerk.app.data.sync.WebSocketClient +import de.bollwerk.app.data.sync.WebSocketEvent +import de.bollwerk.app.di.ApplicationScope +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.SyncError +import de.bollwerk.app.domain.repository.MessageRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.shared.model.UserListItemDto import io.ktor.client.HttpClient import io.ktor.client.call.body import io.ktor.client.request.get diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/SettingsRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/SettingsRepositoryImpl.kt similarity index 81% rename from app/src/main/java/de/krisenvorrat/app/data/repository/SettingsRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/SettingsRepositoryImpl.kt index 0d6334a..c640160 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/SettingsRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/SettingsRepositoryImpl.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.data.db.dao.SettingsDao -import de.krisenvorrat.app.data.db.entity.SettingsEntity -import de.krisenvorrat.app.data.security.SecureTokenStorage -import de.krisenvorrat.app.domain.model.SettingsKey -import de.krisenvorrat.app.domain.model.SettingsKeys -import de.krisenvorrat.app.domain.repository.SettingsRepository +import de.bollwerk.app.data.db.dao.SettingsDao +import de.bollwerk.app.data.db.entity.SettingsEntity +import de.bollwerk.app.data.security.SecureTokenStorage +import de.bollwerk.app.domain.model.SettingsKey +import de.bollwerk.app.domain.model.SettingsKeys +import de.bollwerk.app.domain.repository.SettingsRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map diff --git a/app/src/main/java/de/krisenvorrat/app/data/repository/UpdateRepositoryImpl.kt b/app/src/main/java/de/bollwerk/app/data/repository/UpdateRepositoryImpl.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/data/repository/UpdateRepositoryImpl.kt rename to app/src/main/java/de/bollwerk/app/data/repository/UpdateRepositoryImpl.kt index d5443d4..7388379 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/repository/UpdateRepositoryImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/repository/UpdateRepositoryImpl.kt @@ -1,7 +1,7 @@ -package de.krisenvorrat.app.data.repository +package de.bollwerk.app.data.repository -import de.krisenvorrat.app.domain.model.VersionInfo -import de.krisenvorrat.app.domain.repository.UpdateRepository +import de.bollwerk.app.domain.model.VersionInfo +import de.bollwerk.app.domain.repository.UpdateRepository import io.ktor.client.HttpClient import io.ktor.client.call.body import io.ktor.client.request.get diff --git a/app/src/main/java/de/krisenvorrat/app/data/security/EncryptedPrefsTokenStorage.kt b/app/src/main/java/de/bollwerk/app/data/security/EncryptedPrefsTokenStorage.kt similarity index 92% rename from app/src/main/java/de/krisenvorrat/app/data/security/EncryptedPrefsTokenStorage.kt rename to app/src/main/java/de/bollwerk/app/data/security/EncryptedPrefsTokenStorage.kt index ad7e19f..5a47f50 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/security/EncryptedPrefsTokenStorage.kt +++ b/app/src/main/java/de/bollwerk/app/data/security/EncryptedPrefsTokenStorage.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.security +package de.bollwerk.app.data.security import android.content.Context import android.content.SharedPreferences @@ -13,7 +13,7 @@ internal class EncryptedPrefsTokenStorage(context: Context) : SecureTokenStorage .build() EncryptedSharedPreferences.create( context, - "krisenvorrat_secure_prefs", + "bollwerk_secure_prefs", masterKey, EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM diff --git a/app/src/main/java/de/krisenvorrat/app/data/security/SecureTokenStorage.kt b/app/src/main/java/de/bollwerk/app/data/security/SecureTokenStorage.kt similarity index 77% rename from app/src/main/java/de/krisenvorrat/app/data/security/SecureTokenStorage.kt rename to app/src/main/java/de/bollwerk/app/data/security/SecureTokenStorage.kt index 7ede91b..610724f 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/security/SecureTokenStorage.kt +++ b/app/src/main/java/de/bollwerk/app/data/security/SecureTokenStorage.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.security +package de.bollwerk.app.data.security internal interface SecureTokenStorage { fun get(key: String): String? diff --git a/app/src/main/java/de/krisenvorrat/app/data/sync/AuthModels.kt b/app/src/main/java/de/bollwerk/app/data/sync/AuthModels.kt similarity index 92% rename from app/src/main/java/de/krisenvorrat/app/data/sync/AuthModels.kt rename to app/src/main/java/de/bollwerk/app/data/sync/AuthModels.kt index 383c1a3..b357e0f 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/sync/AuthModels.kt +++ b/app/src/main/java/de/bollwerk/app/data/sync/AuthModels.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.sync +package de.bollwerk.app.data.sync import kotlinx.serialization.Serializable diff --git a/app/src/main/java/de/krisenvorrat/app/data/sync/ConnectionState.kt b/app/src/main/java/de/bollwerk/app/data/sync/ConnectionState.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/data/sync/ConnectionState.kt rename to app/src/main/java/de/bollwerk/app/data/sync/ConnectionState.kt index 192880c..258c465 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/sync/ConnectionState.kt +++ b/app/src/main/java/de/bollwerk/app/data/sync/ConnectionState.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.sync +package de.bollwerk.app.data.sync internal sealed interface ConnectionState { data object Connected : ConnectionState diff --git a/app/src/main/java/de/krisenvorrat/app/data/sync/SyncServiceImpl.kt b/app/src/main/java/de/bollwerk/app/data/sync/SyncServiceImpl.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/data/sync/SyncServiceImpl.kt rename to app/src/main/java/de/bollwerk/app/data/sync/SyncServiceImpl.kt index 9b30123..0817fde 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/sync/SyncServiceImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/sync/SyncServiceImpl.kt @@ -1,13 +1,13 @@ -package de.krisenvorrat.app.data.sync +package de.bollwerk.app.data.sync -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.SyncError -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.SyncService -import de.krisenvorrat.shared.model.CreateInventoryRequest -import de.krisenvorrat.shared.model.InventoryDto -import de.krisenvorrat.shared.model.InventoryInfoDto -import de.krisenvorrat.shared.model.ItemDto +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.SyncError +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.SyncService +import de.bollwerk.shared.model.CreateInventoryRequest +import de.bollwerk.shared.model.InventoryDto +import de.bollwerk.shared.model.InventoryInfoDto +import de.bollwerk.shared.model.ItemDto import io.ktor.client.HttpClient import io.ktor.client.call.body import io.ktor.client.request.delete diff --git a/app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClient.kt b/app/src/main/java/de/bollwerk/app/data/sync/WebSocketClient.kt similarity index 89% rename from app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClient.kt rename to app/src/main/java/de/bollwerk/app/data/sync/WebSocketClient.kt index 9034bce..7293a97 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClient.kt +++ b/app/src/main/java/de/bollwerk/app/data/sync/WebSocketClient.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.data.sync +package de.bollwerk.app.data.sync -import de.krisenvorrat.shared.model.MessageDto +import de.bollwerk.shared.model.MessageDto import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClientImpl.kt b/app/src/main/java/de/bollwerk/app/data/sync/WebSocketClientImpl.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClientImpl.kt rename to app/src/main/java/de/bollwerk/app/data/sync/WebSocketClientImpl.kt index 9627b9a..c1f023c 100644 --- a/app/src/main/java/de/krisenvorrat/app/data/sync/WebSocketClientImpl.kt +++ b/app/src/main/java/de/bollwerk/app/data/sync/WebSocketClientImpl.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.data.sync +package de.bollwerk.app.data.sync import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp @@ -120,7 +120,7 @@ internal class WebSocketClientImpl @Inject constructor() : WebSocketClient { "inventoryUpdated" -> _events.emit(WebSocketEvent.InventoryUpdated(event.itemId ?: "")) "fullSyncRequired" -> _events.emit(WebSocketEvent.FullSyncRequired) "new_message" -> { - val msg = de.krisenvorrat.shared.model.MessageDto( + val msg = de.bollwerk.shared.model.MessageDto( id = event.id ?: return, senderId = event.senderId ?: return, senderUsername = event.senderUsername ?: return, diff --git a/app/src/main/java/de/krisenvorrat/app/di/.gitkeep b/app/src/main/java/de/bollwerk/app/di/.gitkeep similarity index 100% rename from app/src/main/java/de/krisenvorrat/app/di/.gitkeep rename to app/src/main/java/de/bollwerk/app/di/.gitkeep diff --git a/app/src/main/java/de/krisenvorrat/app/di/ApplicationScope.kt b/app/src/main/java/de/bollwerk/app/di/ApplicationScope.kt similarity index 80% rename from app/src/main/java/de/krisenvorrat/app/di/ApplicationScope.kt rename to app/src/main/java/de/bollwerk/app/di/ApplicationScope.kt index ed63ffd..369d654 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/ApplicationScope.kt +++ b/app/src/main/java/de/bollwerk/app/di/ApplicationScope.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import javax.inject.Qualifier diff --git a/app/src/main/java/de/krisenvorrat/app/di/DatabaseModule.kt b/app/src/main/java/de/bollwerk/app/di/DatabaseModule.kt similarity index 53% rename from app/src/main/java/de/krisenvorrat/app/di/DatabaseModule.kt rename to app/src/main/java/de/bollwerk/app/di/DatabaseModule.kt index 9d7b00f..4e078fb 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/DatabaseModule.kt +++ b/app/src/main/java/de/bollwerk/app/di/DatabaseModule.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import android.content.Context import androidx.room.Room @@ -10,14 +10,14 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent -import de.krisenvorrat.app.data.db.KrisenvorratDatabase -import de.krisenvorrat.app.data.db.dao.CategoryDao -import de.krisenvorrat.app.data.db.dao.ItemDao -import de.krisenvorrat.app.data.db.dao.LocationDao -import de.krisenvorrat.app.data.db.dao.MessageDao -import de.krisenvorrat.app.data.db.dao.PendingSyncOpDao -import de.krisenvorrat.app.data.db.dao.SettingsDao -import de.krisenvorrat.app.data.export.DatabaseTransaction +import de.bollwerk.app.data.db.BollwerkDatabase +import de.bollwerk.app.data.db.dao.CategoryDao +import de.bollwerk.app.data.db.dao.ItemDao +import de.bollwerk.app.data.db.dao.LocationDao +import de.bollwerk.app.data.db.dao.MessageDao +import de.bollwerk.app.data.db.dao.PendingSyncOpDao +import de.bollwerk.app.data.db.dao.SettingsDao +import de.bollwerk.app.data.export.DatabaseTransaction import javax.inject.Singleton @Module @@ -26,8 +26,8 @@ internal object DatabaseModule { @Provides @Singleton - fun provideDatabase(@ApplicationContext context: Context): KrisenvorratDatabase = - Room.databaseBuilder(context, KrisenvorratDatabase::class.java, "krisenvorrat.db") + fun provideDatabase(@ApplicationContext context: Context): BollwerkDatabase = + Room.databaseBuilder(context, BollwerkDatabase::class.java, "bollwerk.db") .addCallback(DefaultDataCallback) .fallbackToDestructiveMigration() .build() @@ -51,25 +51,25 @@ internal object DatabaseModule { } @Provides - fun provideItemDao(db: KrisenvorratDatabase): ItemDao = db.itemDao() + fun provideItemDao(db: BollwerkDatabase): ItemDao = db.itemDao() @Provides - fun provideCategoryDao(db: KrisenvorratDatabase): CategoryDao = db.categoryDao() + fun provideCategoryDao(db: BollwerkDatabase): CategoryDao = db.categoryDao() @Provides - fun provideLocationDao(db: KrisenvorratDatabase): LocationDao = db.locationDao() + fun provideLocationDao(db: BollwerkDatabase): LocationDao = db.locationDao() @Provides - fun providePendingSyncOpDao(db: KrisenvorratDatabase): PendingSyncOpDao = db.pendingSyncOpDao() + fun providePendingSyncOpDao(db: BollwerkDatabase): PendingSyncOpDao = db.pendingSyncOpDao() @Provides - fun provideSettingsDao(db: KrisenvorratDatabase): SettingsDao = db.settingsDao() + fun provideSettingsDao(db: BollwerkDatabase): SettingsDao = db.settingsDao() @Provides - fun provideMessageDao(db: KrisenvorratDatabase): MessageDao = db.messageDao() + fun provideMessageDao(db: BollwerkDatabase): MessageDao = db.messageDao() @Provides @Singleton - fun provideDatabaseTransaction(db: KrisenvorratDatabase): DatabaseTransaction = + fun provideDatabaseTransaction(db: BollwerkDatabase): DatabaseTransaction = DatabaseTransaction { block -> db.withTransaction(block) } } diff --git a/app/src/main/java/de/krisenvorrat/app/di/DispatcherQualifiers.kt b/app/src/main/java/de/bollwerk/app/di/DispatcherQualifiers.kt similarity index 79% rename from app/src/main/java/de/krisenvorrat/app/di/DispatcherQualifiers.kt rename to app/src/main/java/de/bollwerk/app/di/DispatcherQualifiers.kt index 0c8bed2..ac81444 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/DispatcherQualifiers.kt +++ b/app/src/main/java/de/bollwerk/app/di/DispatcherQualifiers.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import javax.inject.Qualifier diff --git a/app/src/main/java/de/krisenvorrat/app/di/NetworkModule.kt b/app/src/main/java/de/bollwerk/app/di/NetworkModule.kt similarity index 84% rename from app/src/main/java/de/krisenvorrat/app/di/NetworkModule.kt rename to app/src/main/java/de/bollwerk/app/di/NetworkModule.kt index 9f4bd4a..0393d21 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/NetworkModule.kt +++ b/app/src/main/java/de/bollwerk/app/di/NetworkModule.kt @@ -1,16 +1,16 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import dagger.Binds import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import de.krisenvorrat.app.data.remote.OpenAiVisionService -import de.krisenvorrat.app.data.remote.OpenAiVisionServiceImpl -import de.krisenvorrat.app.data.sync.SyncServiceImpl -import de.krisenvorrat.app.data.sync.WebSocketClient -import de.krisenvorrat.app.data.sync.WebSocketClientImpl -import de.krisenvorrat.app.domain.repository.SyncService +import de.bollwerk.app.data.remote.OpenAiVisionService +import de.bollwerk.app.data.remote.OpenAiVisionServiceImpl +import de.bollwerk.app.data.sync.SyncServiceImpl +import de.bollwerk.app.data.sync.WebSocketClient +import de.bollwerk.app.data.sync.WebSocketClientImpl +import de.bollwerk.app.domain.repository.SyncService import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp import io.ktor.client.plugins.contentnegotiation.ContentNegotiation diff --git a/app/src/main/java/de/krisenvorrat/app/di/RepositoryModule.kt b/app/src/main/java/de/bollwerk/app/di/RepositoryModule.kt similarity index 52% rename from app/src/main/java/de/krisenvorrat/app/di/RepositoryModule.kt rename to app/src/main/java/de/bollwerk/app/di/RepositoryModule.kt index 6af40ba..3688095 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/RepositoryModule.kt +++ b/app/src/main/java/de/bollwerk/app/di/RepositoryModule.kt @@ -1,25 +1,25 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import de.krisenvorrat.app.data.export.ImportExportRepositoryImpl -import de.krisenvorrat.app.data.repository.ApkInstallerImpl -import de.krisenvorrat.app.data.repository.CategoryRepositoryImpl -import de.krisenvorrat.app.data.repository.ItemRepositoryImpl -import de.krisenvorrat.app.data.repository.LocationRepositoryImpl -import de.krisenvorrat.app.data.repository.MessageRepositoryImpl -import de.krisenvorrat.app.data.repository.SettingsRepositoryImpl -import de.krisenvorrat.app.data.repository.UpdateRepositoryImpl -import de.krisenvorrat.app.domain.repository.CategoryRepository -import de.krisenvorrat.app.domain.repository.ImportExportRepository -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.LocationRepository -import de.krisenvorrat.app.domain.repository.MessageRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.UpdateRepository -import de.krisenvorrat.app.domain.usecase.ApkInstaller +import de.bollwerk.app.data.export.ImportExportRepositoryImpl +import de.bollwerk.app.data.repository.ApkInstallerImpl +import de.bollwerk.app.data.repository.CategoryRepositoryImpl +import de.bollwerk.app.data.repository.ItemRepositoryImpl +import de.bollwerk.app.data.repository.LocationRepositoryImpl +import de.bollwerk.app.data.repository.MessageRepositoryImpl +import de.bollwerk.app.data.repository.SettingsRepositoryImpl +import de.bollwerk.app.data.repository.UpdateRepositoryImpl +import de.bollwerk.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.repository.ImportExportRepository +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.LocationRepository +import de.bollwerk.app.domain.repository.MessageRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.UpdateRepository +import de.bollwerk.app.domain.usecase.ApkInstaller import javax.inject.Singleton @Module diff --git a/app/src/main/java/de/krisenvorrat/app/di/SecurityModule.kt b/app/src/main/java/de/bollwerk/app/di/SecurityModule.kt similarity index 75% rename from app/src/main/java/de/krisenvorrat/app/di/SecurityModule.kt rename to app/src/main/java/de/bollwerk/app/di/SecurityModule.kt index 5c03f6d..4cfd7d9 100644 --- a/app/src/main/java/de/krisenvorrat/app/di/SecurityModule.kt +++ b/app/src/main/java/de/bollwerk/app/di/SecurityModule.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.di +package de.bollwerk.app.di import android.content.Context import dagger.Module @@ -6,8 +6,8 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent -import de.krisenvorrat.app.data.security.EncryptedPrefsTokenStorage -import de.krisenvorrat.app.data.security.SecureTokenStorage +import de.bollwerk.app.data.security.EncryptedPrefsTokenStorage +import de.bollwerk.app.data.security.SecureTokenStorage import javax.inject.Singleton @Module diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/AgeGroup.kt b/app/src/main/java/de/bollwerk/app/domain/model/AgeGroup.kt similarity index 97% rename from app/src/main/java/de/krisenvorrat/app/domain/model/AgeGroup.kt rename to app/src/main/java/de/bollwerk/app/domain/model/AgeGroup.kt index 20ac2ab..c960003 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/AgeGroup.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/AgeGroup.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/CategorySummary.kt b/app/src/main/java/de/bollwerk/app/domain/model/CategorySummary.kt similarity index 78% rename from app/src/main/java/de/krisenvorrat/app/domain/model/CategorySummary.kt rename to app/src/main/java/de/bollwerk/app/domain/model/CategorySummary.kt index b6935a4..04c5f3b 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/CategorySummary.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/CategorySummary.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model internal data class CategorySummary( val categoryId: Int, diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/ExpiryWarning.kt b/app/src/main/java/de/bollwerk/app/domain/model/ExpiryWarning.kt similarity index 66% rename from app/src/main/java/de/krisenvorrat/app/domain/model/ExpiryWarning.kt rename to app/src/main/java/de/bollwerk/app/domain/model/ExpiryWarning.kt index e34482c..d60a9d9 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/ExpiryWarning.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/ExpiryWarning.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model -import de.krisenvorrat.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.ItemEntity internal enum class ExpiryUrgency { URGENT, diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/ItemFormPrefill.kt b/app/src/main/java/de/bollwerk/app/domain/model/ItemFormPrefill.kt similarity index 86% rename from app/src/main/java/de/krisenvorrat/app/domain/model/ItemFormPrefill.kt rename to app/src/main/java/de/bollwerk/app/domain/model/ItemFormPrefill.kt index 4c59759..8216311 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/ItemFormPrefill.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/ItemFormPrefill.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model import kotlinx.serialization.Serializable diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKey.kt b/app/src/main/java/de/bollwerk/app/domain/model/SettingsKey.kt similarity index 97% rename from app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKey.kt rename to app/src/main/java/de/bollwerk/app/domain/model/SettingsKey.kt index 26d5d1c..2d15e75 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKey.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/SettingsKey.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model /** * Type-safe Settings-Key-Definition. diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKeys.kt b/app/src/main/java/de/bollwerk/app/domain/model/SettingsKeys.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKeys.kt rename to app/src/main/java/de/bollwerk/app/domain/model/SettingsKeys.kt index e7f26df..f4be56f 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/SettingsKeys.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/SettingsKeys.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model /** * Kompatibilitätsschicht: leitet alle Konstanten an [SettingsKey] weiter. diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/SyncError.kt b/app/src/main/java/de/bollwerk/app/domain/model/SyncError.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/domain/model/SyncError.kt rename to app/src/main/java/de/bollwerk/app/domain/model/SyncError.kt index da07007..685103f 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/SyncError.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/SyncError.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model internal sealed class SyncError(message: String, cause: Throwable? = null) : Exception(message, cause) { class ConnectionError(cause: Throwable? = null) : diff --git a/app/src/main/java/de/krisenvorrat/app/domain/model/UpdateCheckResult.kt b/app/src/main/java/de/bollwerk/app/domain/model/UpdateCheckResult.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/domain/model/UpdateCheckResult.kt rename to app/src/main/java/de/bollwerk/app/domain/model/UpdateCheckResult.kt index bcb384f..8f20153 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/model/UpdateCheckResult.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/UpdateCheckResult.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.model +package de.bollwerk.app.domain.model internal sealed interface UpdateCheckResult { data class UpdateAvailable(val versionInfo: VersionInfo) : UpdateCheckResult diff --git a/server/src/main/kotlin/de/krisenvorrat/server/model/VersionInfo.kt b/app/src/main/java/de/bollwerk/app/domain/model/VersionInfo.kt similarity index 82% rename from server/src/main/kotlin/de/krisenvorrat/server/model/VersionInfo.kt rename to app/src/main/java/de/bollwerk/app/domain/model/VersionInfo.kt index 7125818..d26eb6a 100644 --- a/server/src/main/kotlin/de/krisenvorrat/server/model/VersionInfo.kt +++ b/app/src/main/java/de/bollwerk/app/domain/model/VersionInfo.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.server.model +package de.bollwerk.app.domain.model import kotlinx.serialization.Serializable diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/CategoryRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/CategoryRepository.kt similarity index 72% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/CategoryRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/CategoryRepository.kt index e030856..21160a0 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/CategoryRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/CategoryRepository.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.CategoryEntity import kotlinx.coroutines.flow.Flow internal interface CategoryRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/ImportExportRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/ImportExportRepository.kt similarity index 81% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/ImportExportRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/ImportExportRepository.kt index da3935c..1ed7aa6 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/ImportExportRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/ImportExportRepository.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.shared.model.InventoryDto +import de.bollwerk.shared.model.InventoryDto import java.io.File internal interface ImportExportRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/ItemRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/ItemRepository.kt similarity index 88% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/ItemRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/ItemRepository.kt index 6ebbcf3..73ec40a 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/ItemRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/ItemRepository.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.ItemEntity import kotlinx.coroutines.flow.Flow internal interface ItemRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/LocationRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/LocationRepository.kt similarity index 72% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/LocationRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/LocationRepository.kt index 239e43a..5aa1292 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/LocationRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/LocationRepository.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.LocationEntity import kotlinx.coroutines.flow.Flow internal interface LocationRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/MessageRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/MessageRepository.kt similarity index 70% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/MessageRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/MessageRepository.kt index 2ca6802..01dc0dc 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/MessageRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/MessageRepository.kt @@ -1,7 +1,7 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.data.db.entity.MessageEntity -import de.krisenvorrat.shared.model.UserListItemDto +import de.bollwerk.app.data.db.entity.MessageEntity +import de.bollwerk.shared.model.UserListItemDto import kotlinx.coroutines.flow.Flow internal interface MessageRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/SettingsRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/SettingsRepository.kt similarity index 77% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/SettingsRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/SettingsRepository.kt index 363be8b..1bfedce 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/SettingsRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/SettingsRepository.kt @@ -1,7 +1,7 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.data.db.entity.SettingsEntity -import de.krisenvorrat.app.domain.model.SettingsKey +import de.bollwerk.app.data.db.entity.SettingsEntity +import de.bollwerk.app.domain.model.SettingsKey import kotlinx.coroutines.flow.Flow internal interface SettingsRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/SyncService.kt b/app/src/main/java/de/bollwerk/app/domain/repository/SyncService.kt similarity index 77% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/SyncService.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/SyncService.kt index 63fa9f9..6e7ac39 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/SyncService.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/SyncService.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.shared.model.InventoryDto -import de.krisenvorrat.shared.model.InventoryInfoDto -import de.krisenvorrat.shared.model.ItemDto +import de.bollwerk.shared.model.InventoryDto +import de.bollwerk.shared.model.InventoryInfoDto +import de.bollwerk.shared.model.ItemDto internal interface SyncService { suspend fun downloadInventory(since: Long? = null): Result diff --git a/app/src/main/java/de/krisenvorrat/app/domain/repository/UpdateRepository.kt b/app/src/main/java/de/bollwerk/app/domain/repository/UpdateRepository.kt similarity index 70% rename from app/src/main/java/de/krisenvorrat/app/domain/repository/UpdateRepository.kt rename to app/src/main/java/de/bollwerk/app/domain/repository/UpdateRepository.kt index 9927c2f..ecdf5bd 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/repository/UpdateRepository.kt +++ b/app/src/main/java/de/bollwerk/app/domain/repository/UpdateRepository.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.repository +package de.bollwerk.app.domain.repository -import de.krisenvorrat.app.domain.model.VersionInfo +import de.bollwerk.app.domain.model.VersionInfo import java.io.File internal interface UpdateRepository { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/ApkInstaller.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/ApkInstaller.kt similarity index 66% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/ApkInstaller.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/ApkInstaller.kt index 310233a..f841d18 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/ApkInstaller.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/ApkInstaller.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase import java.io.File diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateCategorySummaryUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateCategorySummaryUseCase.kt similarity index 78% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateCategorySummaryUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/CalculateCategorySummaryUseCase.kt index 8fb119a..d4e0e29 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateCategorySummaryUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateCategorySummaryUseCase.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.domain.model.CategorySummary +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.domain.model.CategorySummary import javax.inject.Inject internal class CalculateCategorySummaryUseCase @Inject constructor() { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateSupplyRangeUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateSupplyRangeUseCase.kt similarity index 88% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateSupplyRangeUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/CalculateSupplyRangeUseCase.kt index 190df97..fdb4b9a 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateSupplyRangeUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateSupplyRangeUseCase.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.ItemEntity import javax.inject.Inject internal class CalculateSupplyRangeUseCase @Inject constructor() { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateTotalValueUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateTotalValueUseCase.kt similarity index 69% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateTotalValueUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/CalculateTotalValueUseCase.kt index 83a8324..4b8f04f 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CalculateTotalValueUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/CalculateTotalValueUseCase.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.ItemEntity import javax.inject.Inject internal class CalculateTotalValueUseCase @Inject constructor() { diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CheckForUpdateUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/CheckForUpdateUseCase.kt similarity index 75% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/CheckForUpdateUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/CheckForUpdateUseCase.kt index 464b484..3ed397c 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/CheckForUpdateUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/CheckForUpdateUseCase.kt @@ -1,9 +1,9 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.UpdateCheckResult -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.UpdateRepository +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.UpdateCheckResult +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.UpdateRepository import javax.inject.Inject internal class CheckForUpdateUseCase @Inject constructor( diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/GetExpiryWarningsUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/GetExpiryWarningsUseCase.kt similarity index 86% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/GetExpiryWarningsUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/GetExpiryWarningsUseCase.kt index 96a0466..137a726 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/GetExpiryWarningsUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/GetExpiryWarningsUseCase.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.domain.model.ExpiryUrgency -import de.krisenvorrat.app.domain.model.ExpiryWarning +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.domain.model.ExpiryUrgency +import de.bollwerk.app.domain.model.ExpiryWarning import java.time.LocalDate import java.time.temporal.ChronoUnit import javax.inject.Inject diff --git a/app/src/main/java/de/krisenvorrat/app/domain/usecase/SeedDatabaseUseCase.kt b/app/src/main/java/de/bollwerk/app/domain/usecase/SeedDatabaseUseCase.kt similarity index 74% rename from app/src/main/java/de/krisenvorrat/app/domain/usecase/SeedDatabaseUseCase.kt rename to app/src/main/java/de/bollwerk/app/domain/usecase/SeedDatabaseUseCase.kt index f6ef57a..dc43c99 100644 --- a/app/src/main/java/de/krisenvorrat/app/domain/usecase/SeedDatabaseUseCase.kt +++ b/app/src/main/java/de/bollwerk/app/domain/usecase/SeedDatabaseUseCase.kt @@ -1,9 +1,9 @@ -package de.krisenvorrat.app.domain.usecase +package de.bollwerk.app.domain.usecase -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.domain.repository.CategoryRepository -import de.krisenvorrat.app.domain.repository.LocationRepository +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.repository.LocationRepository import kotlinx.coroutines.flow.first import javax.inject.Inject diff --git a/app/src/main/java/de/krisenvorrat/app/presentation/.gitkeep b/app/src/main/java/de/bollwerk/app/presentation/.gitkeep similarity index 100% rename from app/src/main/java/de/krisenvorrat/app/presentation/.gitkeep rename to app/src/main/java/de/bollwerk/app/presentation/.gitkeep diff --git a/app/src/main/java/de/krisenvorrat/app/ui/MainScreen.kt b/app/src/main/java/de/bollwerk/app/ui/MainScreen.kt similarity index 93% rename from app/src/main/java/de/krisenvorrat/app/ui/MainScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/MainScreen.kt index 98324ed..1201fea 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/MainScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/MainScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui +package de.bollwerk.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -32,12 +32,12 @@ import androidx.navigation.NavDestination.Companion.hasRoute import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController -import de.krisenvorrat.app.ui.inventory.InventoryPickerSheet -import de.krisenvorrat.app.ui.inventory.InventoryPickerViewModel -import de.krisenvorrat.app.ui.navigation.KrisenvorratNavGraph -import de.krisenvorrat.app.ui.navigation.TopLevelDestination -import de.krisenvorrat.app.ui.update.UpdateBanner -import de.krisenvorrat.app.ui.update.UpdateViewModel +import de.bollwerk.app.ui.inventory.InventoryPickerSheet +import de.bollwerk.app.ui.inventory.InventoryPickerViewModel +import de.bollwerk.app.ui.navigation.BollwerkNavGraph +import de.bollwerk.app.ui.navigation.TopLevelDestination +import de.bollwerk.app.ui.update.UpdateBanner +import de.bollwerk.app.ui.update.UpdateViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -135,7 +135,7 @@ internal fun MainScreen() { onDownloadClick = updateViewModel::startDownload, onDismiss = updateViewModel::dismiss ) - KrisenvorratNavGraph( + BollwerkNavGraph( navController = navController, modifier = Modifier.weight(1f) ) diff --git a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraScreen.kt b/app/src/main/java/de/bollwerk/app/ui/camera/CameraScreen.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/camera/CameraScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/camera/CameraScreen.kt index da3f8f8..9beb8ac 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/camera/CameraScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.camera +package de.bollwerk.app.ui.camera import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult @@ -47,7 +47,7 @@ import androidx.compose.ui.unit.dp import androidx.core.content.FileProvider import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.domain.model.ItemFormPrefill +import de.bollwerk.app.domain.model.ItemFormPrefill import java.io.File @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraUiState.kt b/app/src/main/java/de/bollwerk/app/ui/camera/CameraUiState.kt similarity index 82% rename from app/src/main/java/de/krisenvorrat/app/ui/camera/CameraUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/camera/CameraUiState.kt index 51a5555..5477a76 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/camera/CameraUiState.kt @@ -1,8 +1,8 @@ -package de.krisenvorrat.app.ui.camera +package de.bollwerk.app.ui.camera import android.graphics.Bitmap import android.net.Uri -import de.krisenvorrat.app.domain.model.ItemFormPrefill +import de.bollwerk.app.domain.model.ItemFormPrefill internal data class CameraUiState( val capturedImageUri: Uri? = null, diff --git a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/camera/CameraViewModel.kt similarity index 94% rename from app/src/main/java/de/krisenvorrat/app/ui/camera/CameraViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/camera/CameraViewModel.kt index 6ba9dbd..7891f13 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/camera/CameraViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/camera/CameraViewModel.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.camera +package de.bollwerk.app.ui.camera import android.content.Context import android.graphics.Bitmap @@ -8,11 +8,11 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext -import de.krisenvorrat.app.data.remote.OpenAiVisionService -import de.krisenvorrat.app.di.IoDispatcher -import de.krisenvorrat.app.domain.model.ItemFormPrefill -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.repository.SettingsRepository +import de.bollwerk.app.data.remote.OpenAiVisionService +import de.bollwerk.app.di.IoDispatcher +import de.bollwerk.app.domain.model.ItemFormPrefill +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.repository.SettingsRepository import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListScreen.kt b/app/src/main/java/de/bollwerk/app/ui/category/CategoryListScreen.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/category/CategoryListScreen.kt index 2cfb8a0..2f15bfc 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/category/CategoryListScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.category +package de.bollwerk.app.ui.category import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -40,7 +40,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.CategoryEntity @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/category/CategoryListViewModel.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/category/CategoryListViewModel.kt index 6d4b04f..4cf39eb 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/category/CategoryListViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/category/CategoryListViewModel.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.ui.category +package de.bollwerk.app.ui.category import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.domain.repository.CategoryRepository -import de.krisenvorrat.app.domain.repository.ItemRepository +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.repository.ItemRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardScreen.kt b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardScreen.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardScreen.kt index 24f07eb..b0cdaad 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.dashboard +package de.bollwerk.app.ui.dashboard import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -26,7 +26,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.domain.model.CategorySummary +import de.bollwerk.app.domain.model.CategorySummary import java.text.NumberFormat import java.util.Locale import kotlin.math.roundToInt diff --git a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardUiState.kt b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardUiState.kt similarity index 74% rename from app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardUiState.kt index 48f45c0..ff0e679 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardUiState.kt @@ -1,7 +1,7 @@ -package de.krisenvorrat.app.ui.dashboard +package de.bollwerk.app.ui.dashboard -import de.krisenvorrat.app.domain.model.CategorySummary -import de.krisenvorrat.app.domain.model.ExpiryWarning +import de.bollwerk.app.domain.model.CategorySummary +import de.bollwerk.app.domain.model.ExpiryWarning internal data class DashboardUiState( val categorySummaries: List = emptyList(), diff --git a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardViewModel.kt similarity index 75% rename from app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardViewModel.kt index e346a4a..023bfb7 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/dashboard/DashboardViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/dashboard/DashboardViewModel.kt @@ -1,18 +1,18 @@ -package de.krisenvorrat.app.ui.dashboard +package de.bollwerk.app.ui.dashboard import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.domain.model.parseAgeGroupsFromJson -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.totalDailyKcal -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.usecase.CalculateCategorySummaryUseCase -import de.krisenvorrat.app.domain.usecase.CalculateSupplyRangeUseCase -import de.krisenvorrat.app.domain.usecase.CalculateTotalValueUseCase -import de.krisenvorrat.app.domain.usecase.GetExpiryWarningsUseCase -import de.krisenvorrat.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.model.parseAgeGroupsFromJson +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.totalDailyKcal +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.usecase.CalculateCategorySummaryUseCase +import de.bollwerk.app.domain.usecase.CalculateSupplyRangeUseCase +import de.bollwerk.app.domain.usecase.CalculateTotalValueUseCase +import de.bollwerk.app.domain.usecase.GetExpiryWarningsUseCase +import de.bollwerk.app.domain.repository.CategoryRepository import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerSheet.kt b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerSheet.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerSheet.kt rename to app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerSheet.kt index 3035a88..ad637b9 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerSheet.kt +++ b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerSheet.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.inventory +package de.bollwerk.app.ui.inventory import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement diff --git a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerUiState.kt b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerUiState.kt similarity index 80% rename from app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerUiState.kt index 5d3a2ed..99f1530 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerUiState.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.ui.inventory +package de.bollwerk.app.ui.inventory -import de.krisenvorrat.shared.model.InventoryInfoDto +import de.bollwerk.shared.model.InventoryInfoDto internal data class InventoryPickerUiState( val inventories: List = emptyList(), diff --git a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerViewModel.kt similarity index 94% rename from app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerViewModel.kt index 7276f48..2a1de0d 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/inventory/InventoryPickerViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/inventory/InventoryPickerViewModel.kt @@ -1,12 +1,12 @@ -package de.krisenvorrat.app.ui.inventory +package de.bollwerk.app.ui.inventory import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.repository.ImportExportRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.SyncService +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.repository.ImportExportRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.SyncService import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormScreen.kt b/app/src/main/java/de/bollwerk/app/ui/item/ItemFormScreen.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/item/ItemFormScreen.kt index 9efa1f8..fc79319 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/item/ItemFormScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.item +package de.bollwerk.app.ui.item import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -206,7 +206,7 @@ internal fun ItemFormScreen( @OptIn(ExperimentalMaterial3Api::class) @Composable private fun CategoryDropdown( - categories: List, + categories: List, selectedCategoryId: Int?, onCategorySelected: (Int) -> Unit, isError: Boolean, @@ -251,7 +251,7 @@ private fun CategoryDropdown( @OptIn(ExperimentalMaterial3Api::class) @Composable private fun LocationDropdown( - locations: List, + locations: List, selectedLocationId: Int?, onLocationSelected: (Int) -> Unit, isError: Boolean, diff --git a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/item/ItemFormViewModel.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/item/ItemFormViewModel.kt index dd24e23..57f04af 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemFormViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/item/ItemFormViewModel.kt @@ -1,16 +1,16 @@ -package de.krisenvorrat.app.ui.item +package de.bollwerk.app.ui.item import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.domain.repository.CategoryRepository -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.LocationRepository -import de.krisenvorrat.app.domain.model.ItemFormPrefill +import de.bollwerk.app.data.db.entity.CategoryEntity +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.LocationRepository +import de.bollwerk.app.domain.model.ItemFormPrefill import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemListScreen.kt b/app/src/main/java/de/bollwerk/app/ui/item/ItemListScreen.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/item/ItemListScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/item/ItemListScreen.kt index d48058d..ccb2a61 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemListScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/item/ItemListScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.item +package de.bollwerk.app.ui.item import androidx.compose.foundation.clickable import androidx.compose.foundation.horizontalScroll @@ -69,7 +69,7 @@ internal fun ItemListScreen( TopAppBar( title = { Text("Artikel") }, actions = { - if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) { + if (de.bollwerk.app.BuildConfig.FEATURE_CAMERA_ENABLED) { IconButton(onClick = onCameraClick) { Icon( imageVector = Icons.Default.PhotoCamera, diff --git a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemListViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/item/ItemListViewModel.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/ui/item/ItemListViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/item/ItemListViewModel.kt index efaf88c..4acecbc 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemListViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/item/ItemListViewModel.kt @@ -1,12 +1,12 @@ -package de.krisenvorrat.app.ui.item +package de.bollwerk.app.ui.item import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.domain.repository.CategoryRepository -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.LocationRepository +import de.bollwerk.app.data.db.entity.ItemEntity +import de.bollwerk.app.domain.repository.CategoryRepository +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.LocationRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemUiModel.kt b/app/src/main/java/de/bollwerk/app/ui/item/ItemUiModel.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/ui/item/ItemUiModel.kt rename to app/src/main/java/de/bollwerk/app/ui/item/ItemUiModel.kt index 80b4625..ccdce34 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/item/ItemUiModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/item/ItemUiModel.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.item +package de.bollwerk.app.ui.item import java.time.LocalDate diff --git a/app/src/main/java/de/krisenvorrat/app/ui/location/LocationListScreen.kt b/app/src/main/java/de/bollwerk/app/ui/location/LocationListScreen.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/location/LocationListScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/location/LocationListScreen.kt index 686a7e0..00e21c2 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/location/LocationListScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/location/LocationListScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.location +package de.bollwerk.app.ui.location import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -40,7 +40,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.data.db.entity.LocationEntity +import de.bollwerk.app.data.db.entity.LocationEntity @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/de/krisenvorrat/app/ui/location/LocationListViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/location/LocationListViewModel.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/ui/location/LocationListViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/location/LocationListViewModel.kt index 36d820a..13d3233 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/location/LocationListViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/location/LocationListViewModel.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.ui.location +package de.bollwerk.app.ui.location import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.repository.LocationRepository +import de.bollwerk.app.data.db.entity.LocationEntity +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.repository.LocationRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatScreen.kt b/app/src/main/java/de/bollwerk/app/ui/messaging/ChatScreen.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/messaging/ChatScreen.kt index 34d52e7..f4836e7 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/messaging/ChatScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.messaging +package de.bollwerk.app.ui.messaging import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -39,7 +39,7 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.data.db.entity.MessageEntity +import de.bollwerk.app.data.db.entity.MessageEntity import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/messaging/ChatViewModel.kt similarity index 92% rename from app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/messaging/ChatViewModel.kt index 91669e1..d440067 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/messaging/ChatViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/messaging/ChatViewModel.kt @@ -1,11 +1,11 @@ -package de.krisenvorrat.app.ui.messaging +package de.bollwerk.app.ui.messaging import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.data.db.entity.MessageEntity -import de.krisenvorrat.app.domain.repository.MessageRepository +import de.bollwerk.app.data.db.entity.MessageEntity +import de.bollwerk.app.domain.repository.MessageRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.update diff --git a/app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListScreen.kt b/app/src/main/java/de/bollwerk/app/ui/messaging/UserListScreen.kt similarity index 97% rename from app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/messaging/UserListScreen.kt index 47c6ed7..68986d3 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/messaging/UserListScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.messaging +package de.bollwerk.app.ui.messaging import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -27,7 +27,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.shared.model.UserListItemDto +import de.bollwerk.shared.model.UserListItemDto @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/messaging/UserListViewModel.kt similarity index 89% rename from app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/messaging/UserListViewModel.kt index 2203034..27a7f60 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/messaging/UserListViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/messaging/UserListViewModel.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.ui.messaging +package de.bollwerk.app.ui.messaging import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.domain.repository.MessageRepository -import de.krisenvorrat.shared.model.UserListItemDto +import de.bollwerk.app.domain.repository.MessageRepository +import de.bollwerk.shared.model.UserListItemDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch diff --git a/app/src/main/java/de/krisenvorrat/app/ui/navigation/KrisenvorratNavGraph.kt b/app/src/main/java/de/bollwerk/app/ui/navigation/BollwerkNavGraph.kt similarity index 78% rename from app/src/main/java/de/krisenvorrat/app/ui/navigation/KrisenvorratNavGraph.kt rename to app/src/main/java/de/bollwerk/app/ui/navigation/BollwerkNavGraph.kt index be90828..ac2ee77 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/navigation/KrisenvorratNavGraph.kt +++ b/app/src/main/java/de/bollwerk/app/ui/navigation/BollwerkNavGraph.kt @@ -1,23 +1,23 @@ -package de.krisenvorrat.app.ui.navigation +package de.bollwerk.app.ui.navigation import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable -import de.krisenvorrat.app.ui.camera.CameraScreen -import de.krisenvorrat.app.ui.category.CategoryListScreen -import de.krisenvorrat.app.ui.dashboard.DashboardScreen -import de.krisenvorrat.app.ui.item.ItemFormScreen -import de.krisenvorrat.app.ui.item.ItemListScreen -import de.krisenvorrat.app.ui.location.LocationListScreen -import de.krisenvorrat.app.ui.messaging.ChatScreen -import de.krisenvorrat.app.ui.messaging.UserListScreen -import de.krisenvorrat.app.ui.settings.SettingsScreen -import de.krisenvorrat.app.ui.warnings.WarningsScreen +import de.bollwerk.app.ui.camera.CameraScreen +import de.bollwerk.app.ui.category.CategoryListScreen +import de.bollwerk.app.ui.dashboard.DashboardScreen +import de.bollwerk.app.ui.item.ItemFormScreen +import de.bollwerk.app.ui.item.ItemListScreen +import de.bollwerk.app.ui.location.LocationListScreen +import de.bollwerk.app.ui.messaging.ChatScreen +import de.bollwerk.app.ui.messaging.UserListScreen +import de.bollwerk.app.ui.settings.SettingsScreen +import de.bollwerk.app.ui.warnings.WarningsScreen @Composable -internal fun KrisenvorratNavGraph( +internal fun BollwerkNavGraph( navController: NavHostController, modifier: Modifier = Modifier ) { @@ -44,7 +44,7 @@ internal fun KrisenvorratNavGraph( onLocationsClick = { navController.navigate(Screen.LocationManagement) }, - onCameraClick = if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) { + onCameraClick = if (de.bollwerk.app.BuildConfig.FEATURE_CAMERA_ENABLED) { { navController.navigate(Screen.CameraCapture) } } else { {} @@ -60,7 +60,7 @@ internal fun KrisenvorratNavGraph( ) } - if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) { + if (de.bollwerk.app.BuildConfig.FEATURE_CAMERA_ENABLED) { composable { CameraScreen( onNavigateToItemForm = { prefillJson -> diff --git a/app/src/main/java/de/krisenvorrat/app/ui/navigation/Screen.kt b/app/src/main/java/de/bollwerk/app/ui/navigation/Screen.kt similarity index 94% rename from app/src/main/java/de/krisenvorrat/app/ui/navigation/Screen.kt rename to app/src/main/java/de/bollwerk/app/ui/navigation/Screen.kt index 637c5a1..a4f5313 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/navigation/Screen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/navigation/Screen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.navigation +package de.bollwerk.app.ui.navigation import kotlinx.serialization.Serializable diff --git a/app/src/main/java/de/krisenvorrat/app/ui/navigation/TopLevelDestination.kt b/app/src/main/java/de/bollwerk/app/ui/navigation/TopLevelDestination.kt similarity index 97% rename from app/src/main/java/de/krisenvorrat/app/ui/navigation/TopLevelDestination.kt rename to app/src/main/java/de/bollwerk/app/ui/navigation/TopLevelDestination.kt index aef0c68..d428a3f 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/navigation/TopLevelDestination.kt +++ b/app/src/main/java/de/bollwerk/app/ui/navigation/TopLevelDestination.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.navigation +package de.bollwerk.app.ui.navigation import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Message diff --git a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsScreen.kt b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsScreen.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/settings/SettingsScreen.kt index d7d3c53..61970e9 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.settings +package de.bollwerk.app.ui.settings import android.content.Intent import android.widget.Toast @@ -47,9 +47,9 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.data.sync.ConnectionState -import de.krisenvorrat.app.domain.model.AgeGroup -import de.krisenvorrat.app.domain.model.totalDailyKcal +import de.bollwerk.app.data.sync.ConnectionState +import de.bollwerk.app.domain.model.AgeGroup +import de.bollwerk.app.domain.model.totalDailyKcal @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -93,7 +93,7 @@ internal fun SettingsScreen( Intent(Intent.ACTION_SEND).apply { type = "text/plain" putExtra(Intent.EXTRA_TEXT, content.text) - putExtra(Intent.EXTRA_SUBJECT, "Krisenvorrat Inventar") + putExtra(Intent.EXTRA_SUBJECT, "Bollwerk Inventar") } } } @@ -405,7 +405,7 @@ internal fun SettingsScreen( ) } - if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) { + if (de.bollwerk.app.BuildConfig.FEATURE_CAMERA_ENABLED) { Spacer(modifier = Modifier.height(32.dp)) HorizontalDivider() diff --git a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsUiState.kt b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsUiState.kt similarity index 78% rename from app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/settings/SettingsUiState.kt index 35bc833..e3a5717 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsUiState.kt @@ -1,9 +1,9 @@ -package de.krisenvorrat.app.ui.settings +package de.bollwerk.app.ui.settings import android.net.Uri -import de.krisenvorrat.app.data.sync.ConnectionState -import de.krisenvorrat.app.domain.model.AgeGroupEntry -import de.krisenvorrat.app.domain.model.defaultAgeGroups +import de.bollwerk.app.data.sync.ConnectionState +import de.bollwerk.app.domain.model.AgeGroupEntry +import de.bollwerk.app.domain.model.defaultAgeGroups internal data class SettingsUiState( val ageGroups: List = defaultAgeGroups(), @@ -15,7 +15,7 @@ internal data class SettingsUiState( val isImporting: Boolean = false, val importResult: ImportResult? = null, val pendingImportUri: Uri? = null, - val serverUrl: String = de.krisenvorrat.app.domain.model.SettingsKey.DEFAULT_SERVER_URL, + val serverUrl: String = de.bollwerk.app.domain.model.SettingsKey.DEFAULT_SERVER_URL, val isLoggedIn: Boolean = false, val loggedInUsername: String = "", val loginUsername: String = "", diff --git a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsViewModel.kt similarity index 94% rename from app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/settings/SettingsViewModel.kt index 010bba7..e46b867 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/settings/SettingsViewModel.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.settings +package de.bollwerk.app.ui.settings import android.content.Context import android.net.Uri @@ -7,20 +7,20 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext -import de.krisenvorrat.app.data.db.dao.PendingSyncOpDao -import de.krisenvorrat.app.data.sync.ConnectionState -import de.krisenvorrat.app.data.sync.WebSocketClient -import de.krisenvorrat.app.data.sync.WebSocketEvent -import de.krisenvorrat.app.domain.model.AgeGroup -import de.krisenvorrat.app.domain.model.AgeGroupEntry -import de.krisenvorrat.app.domain.model.SettingsKey -import de.krisenvorrat.app.domain.model.SettingsKey.StringKey -import de.krisenvorrat.app.domain.model.defaultAgeGroups -import de.krisenvorrat.app.domain.model.parseAgeGroupsFromJson -import de.krisenvorrat.app.domain.model.toJson -import de.krisenvorrat.app.domain.repository.ImportExportRepository -import de.krisenvorrat.app.domain.repository.SettingsRepository -import de.krisenvorrat.app.domain.repository.SyncService +import de.bollwerk.app.data.db.dao.PendingSyncOpDao +import de.bollwerk.app.data.sync.ConnectionState +import de.bollwerk.app.data.sync.WebSocketClient +import de.bollwerk.app.data.sync.WebSocketEvent +import de.bollwerk.app.domain.model.AgeGroup +import de.bollwerk.app.domain.model.AgeGroupEntry +import de.bollwerk.app.domain.model.SettingsKey +import de.bollwerk.app.domain.model.SettingsKey.StringKey +import de.bollwerk.app.domain.model.defaultAgeGroups +import de.bollwerk.app.domain.model.parseAgeGroupsFromJson +import de.bollwerk.app.domain.model.toJson +import de.bollwerk.app.domain.repository.ImportExportRepository +import de.bollwerk.app.domain.repository.SettingsRepository +import de.bollwerk.app.domain.repository.SyncService import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow @@ -283,7 +283,7 @@ internal class SettingsViewModel @Inject constructor( val json = importExportRepository.exportToJson() val cacheDir = File(context.cacheDir, "exports") cacheDir.mkdirs() - val file = File(cacheDir, "krisenvorrat_export.json") + val file = File(cacheDir, "bollwerk_export.json") file.writeText(json) val uri = FileProvider.getUriForFile( context, @@ -316,7 +316,7 @@ internal class SettingsViewModel @Inject constructor( val csv = importExportRepository.exportToCsv() val cacheDir = File(context.cacheDir, "exports") cacheDir.mkdirs() - val file = File(cacheDir, "krisenvorrat_export.csv") + val file = File(cacheDir, "bollwerk_export.csv") file.writeText(csv) val uri = FileProvider.getUriForFile( context, @@ -336,7 +336,7 @@ internal class SettingsViewModel @Inject constructor( try { val cacheDir = File(context.cacheDir, "exports") cacheDir.mkdirs() - val file = File(cacheDir, "krisenvorrat_inventar.pdf") + val file = File(cacheDir, "bollwerk_inventar.pdf") importExportRepository.exportToPdf(file) val uri = FileProvider.getUriForFile( context, diff --git a/app/src/main/java/de/krisenvorrat/app/ui/settings/ShareContent.kt b/app/src/main/java/de/bollwerk/app/ui/settings/ShareContent.kt similarity index 87% rename from app/src/main/java/de/krisenvorrat/app/ui/settings/ShareContent.kt rename to app/src/main/java/de/bollwerk/app/ui/settings/ShareContent.kt index b214866..8203713 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/settings/ShareContent.kt +++ b/app/src/main/java/de/bollwerk/app/ui/settings/ShareContent.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.settings +package de.bollwerk.app.ui.settings import android.net.Uri diff --git a/app/src/main/java/de/krisenvorrat/app/ui/settings/SyncActivityMessage.kt b/app/src/main/java/de/bollwerk/app/ui/settings/SyncActivityMessage.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/ui/settings/SyncActivityMessage.kt rename to app/src/main/java/de/bollwerk/app/ui/settings/SyncActivityMessage.kt index 0381f95..f0be3a9 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/settings/SyncActivityMessage.kt +++ b/app/src/main/java/de/bollwerk/app/ui/settings/SyncActivityMessage.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.settings +package de.bollwerk.app.ui.settings internal sealed interface SyncActivityMessage { val text: String diff --git a/app/src/main/java/de/krisenvorrat/app/ui/theme/Color.kt b/app/src/main/java/de/bollwerk/app/ui/theme/Color.kt similarity index 98% rename from app/src/main/java/de/krisenvorrat/app/ui/theme/Color.kt rename to app/src/main/java/de/bollwerk/app/ui/theme/Color.kt index f9f7858..7b00940 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/theme/Color.kt +++ b/app/src/main/java/de/bollwerk/app/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.theme +package de.bollwerk.app.ui.theme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/de/krisenvorrat/app/ui/theme/Theme.kt b/app/src/main/java/de/bollwerk/app/ui/theme/Theme.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/ui/theme/Theme.kt rename to app/src/main/java/de/bollwerk/app/ui/theme/Theme.kt index 389cf7c..6eabb33 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/theme/Theme.kt +++ b/app/src/main/java/de/bollwerk/app/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.theme +package de.bollwerk.app.ui.theme import android.app.Activity import androidx.compose.material3.MaterialTheme @@ -51,7 +51,7 @@ private val DarkColorScheme = darkColorScheme( private val LightColorScheme = lightColorScheme() @Composable -fun KrisenvorratTheme( +fun BollwerkTheme( darkTheme: Boolean = true, content: @Composable () -> Unit ) { @@ -67,7 +67,7 @@ fun KrisenvorratTheme( MaterialTheme( colorScheme = colorScheme, - typography = KrisenvorratTypography, + typography = BollwerkTypography, content = content ) } diff --git a/app/src/main/java/de/krisenvorrat/app/ui/theme/Type.kt b/app/src/main/java/de/bollwerk/app/ui/theme/Type.kt similarity index 95% rename from app/src/main/java/de/krisenvorrat/app/ui/theme/Type.kt rename to app/src/main/java/de/bollwerk/app/ui/theme/Type.kt index 9206ac6..29bceac 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/theme/Type.kt +++ b/app/src/main/java/de/bollwerk/app/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.theme +package de.bollwerk.app.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.font.FontFamily @@ -8,7 +8,7 @@ import androidx.compose.ui.unit.sp * Typography aligned with Admin-UI: monospace headings (Share Tech Mono style), * system sans-serif for body text. */ -val KrisenvorratTypography = Typography( +val BollwerkTypography = Typography( displayLarge = Typography().displayLarge.copy(fontFamily = FontFamily.Monospace), displayMedium = Typography().displayMedium.copy(fontFamily = FontFamily.Monospace), displaySmall = Typography().displaySmall.copy(fontFamily = FontFamily.Monospace), diff --git a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateBanner.kt b/app/src/main/java/de/bollwerk/app/ui/update/UpdateBanner.kt similarity index 99% rename from app/src/main/java/de/krisenvorrat/app/ui/update/UpdateBanner.kt rename to app/src/main/java/de/bollwerk/app/ui/update/UpdateBanner.kt index f22f556..3829306 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateBanner.kt +++ b/app/src/main/java/de/bollwerk/app/ui/update/UpdateBanner.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.update +package de.bollwerk.app.ui.update import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.expandVertically diff --git a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateUiState.kt b/app/src/main/java/de/bollwerk/app/ui/update/UpdateUiState.kt similarity index 92% rename from app/src/main/java/de/krisenvorrat/app/ui/update/UpdateUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/update/UpdateUiState.kt index a8e15be..77fd9dd 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/update/UpdateUiState.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.update +package de.bollwerk.app.ui.update internal data class UpdateUiState( val status: UpdateStatus = UpdateStatus.Hidden diff --git a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/update/UpdateViewModel.kt similarity index 91% rename from app/src/main/java/de/krisenvorrat/app/ui/update/UpdateViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/update/UpdateViewModel.kt index 5770517..e86f90c 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/update/UpdateViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/update/UpdateViewModel.kt @@ -1,15 +1,15 @@ -package de.krisenvorrat.app.ui.update +package de.bollwerk.app.ui.update import android.content.Context import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext -import de.krisenvorrat.app.BuildConfig -import de.krisenvorrat.app.domain.model.UpdateCheckResult -import de.krisenvorrat.app.domain.repository.UpdateRepository -import de.krisenvorrat.app.domain.usecase.ApkInstaller -import de.krisenvorrat.app.domain.usecase.CheckForUpdateUseCase +import de.bollwerk.app.BuildConfig +import de.bollwerk.app.domain.model.UpdateCheckResult +import de.bollwerk.app.domain.repository.UpdateRepository +import de.bollwerk.app.domain.usecase.ApkInstaller +import de.bollwerk.app.domain.usecase.CheckForUpdateUseCase import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsScreen.kt b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsScreen.kt similarity index 96% rename from app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsScreen.kt rename to app/src/main/java/de/bollwerk/app/ui/warnings/WarningsScreen.kt index a26ea7e..2df31e7 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsScreen.kt +++ b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsScreen.kt @@ -1,4 +1,4 @@ -package de.krisenvorrat.app.ui.warnings +package de.bollwerk.app.ui.warnings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -27,8 +27,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.krisenvorrat.app.domain.model.ExpiryUrgency -import de.krisenvorrat.app.domain.model.ExpiryWarning +import de.bollwerk.app.domain.model.ExpiryUrgency +import de.bollwerk.app.domain.model.ExpiryWarning import java.util.Locale @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsUiState.kt b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsUiState.kt similarity index 78% rename from app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsUiState.kt rename to app/src/main/java/de/bollwerk/app/ui/warnings/WarningsUiState.kt index 91b3e90..eae1adb 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsUiState.kt +++ b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsUiState.kt @@ -1,6 +1,6 @@ -package de.krisenvorrat.app.ui.warnings +package de.bollwerk.app.ui.warnings -import de.krisenvorrat.app.domain.model.ExpiryWarning +import de.bollwerk.app.domain.model.ExpiryWarning internal data class WarningsUiState( val expiryWarnings: List = emptyList(), diff --git a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsViewModel.kt b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsViewModel.kt similarity index 86% rename from app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsViewModel.kt rename to app/src/main/java/de/bollwerk/app/ui/warnings/WarningsViewModel.kt index c58c8e5..81b34ab 100644 --- a/app/src/main/java/de/krisenvorrat/app/ui/warnings/WarningsViewModel.kt +++ b/app/src/main/java/de/bollwerk/app/ui/warnings/WarningsViewModel.kt @@ -1,10 +1,10 @@ -package de.krisenvorrat.app.ui.warnings +package de.bollwerk.app.ui.warnings import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import de.krisenvorrat.app.domain.repository.ItemRepository -import de.krisenvorrat.app.domain.usecase.GetExpiryWarningsUseCase +import de.bollwerk.app.domain.repository.ItemRepository +import de.bollwerk.app.domain.usecase.GetExpiryWarningsUseCase import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/app/src/main/java/de/krisenvorrat/app/data/db/KrisenvorratDatabase.kt b/app/src/main/java/de/krisenvorrat/app/data/db/KrisenvorratDatabase.kt deleted file mode 100644 index a6cbfcb..0000000 --- a/app/src/main/java/de/krisenvorrat/app/data/db/KrisenvorratDatabase.kt +++ /dev/null @@ -1,32 +0,0 @@ -package de.krisenvorrat.app.data.db - -import androidx.room.Database -import androidx.room.RoomDatabase -import androidx.room.TypeConverters -import de.krisenvorrat.app.data.db.dao.CategoryDao -import de.krisenvorrat.app.data.db.dao.ItemDao -import de.krisenvorrat.app.data.db.dao.LocationDao -import de.krisenvorrat.app.data.db.dao.MessageDao -import de.krisenvorrat.app.data.db.dao.PendingSyncOpDao -import de.krisenvorrat.app.data.db.dao.SettingsDao -import de.krisenvorrat.app.data.db.entity.CategoryEntity -import de.krisenvorrat.app.data.db.entity.ItemEntity -import de.krisenvorrat.app.data.db.entity.LocationEntity -import de.krisenvorrat.app.data.db.entity.MessageEntity -import de.krisenvorrat.app.data.db.entity.PendingSyncOpEntity -import de.krisenvorrat.app.data.db.entity.SettingsEntity - -@Database( - entities = [CategoryEntity::class, LocationEntity::class, ItemEntity::class, SettingsEntity::class, PendingSyncOpEntity::class, MessageEntity::class], - version = 6, - exportSchema = true -) -@TypeConverters(LocalDateConverter::class) -internal abstract class KrisenvorratDatabase : RoomDatabase() { - abstract fun categoryDao(): CategoryDao - abstract fun locationDao(): LocationDao - abstract fun itemDao(): ItemDao - abstract fun settingsDao(): SettingsDao - abstract fun pendingSyncOpDao(): PendingSyncOpDao - abstract fun messageDao(): MessageDao -} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9c65710..cf10997 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Krisenvorrat + Bollwerk diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index ab4dc96..48301e8 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -2,7 +2,7 @@ #1A1C18 -