This initial commit scaffolds the project with essential docs, assets, and build configs. It adds Android icons, design assets, and release metadata to support mobile targets. A fastlane config and F-Droid manifest are included to streamline builds. - Adds F-Droid configuration for automated builds - Includes license and privacy policy documents - Provides app icons and assets for Android and design system
70 lines
3.4 KiB
Markdown
70 lines
3.4 KiB
Markdown
# WallpaperFlow
|
|
|
|
WallpaperFlow ist eine freie Tauri-2-App für Android, die aus einer frei wählbaren Bildsammlung in einem einstellbaren Zeitintervall ein neues Sperrbildschirmbild setzt.
|
|
|
|
## Was bereits umgesetzt ist
|
|
|
|
- Mehrfachauswahl über den Android-Systemdialog
|
|
- kein festes Bilderlimit; Originale werden in den privaten App-Speicher kopiert
|
|
- Wechsel nur für den Sperrbildschirm oder für das allgemeine Hintergrundbild
|
|
- zufällige oder fortlaufende Reihenfolge
|
|
- manueller Wechsel über „Nächstes Motiv“
|
|
- automatischer Wechsel alle 5, 15 oder 30 Minuten beziehungsweise alle 1, 3, 6 oder 12 Stunden
|
|
- Neustart des Dienstes nach einem Geräte-Neustart, soweit die Android-Version Hintergrundstarts zulässt
|
|
- lokale Vorschaubilder; die Originalbilder verlassen das Gerät nicht
|
|
- vollständig lokale Oberfläche in Deutsch, Englisch, Französisch, Spanisch, Italienisch, Niederländisch, Polnisch, Portugiesisch, Japanisch, Koreanisch und vereinfachtem Chinesisch
|
|
|
|
Android hält den Zeitgeber über einen Foreground Service aktiv. Solange ein Wechselintervall ausgewählt ist, zeigt das System deshalb eine dauerhafte, stille Benachrichtigung. Auf Geräten mit aggressivem Energiesparen muss LockScreenWallpaper gegebenenfalls von der Akku-Optimierung ausgenommen werden.
|
|
|
|
## Entwicklung
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
npm run build
|
|
cargo check --manifest-path src-tauri/Cargo.toml
|
|
```
|
|
|
|
## Android-Projekt erzeugen und bauen
|
|
|
|
Benötigt werden Android Studio/SDK, NDK 28 oder neuer, JDK 17+ und die Rust-Android-Targets.
|
|
|
|
```bash
|
|
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
|
|
npm run tauri android init
|
|
npm run tauri android build -- --apk
|
|
```
|
|
|
|
Für ein angeschlossenes Gerät:
|
|
|
|
```bash
|
|
npm run tauri android dev
|
|
```
|
|
|
|
Der native Android-Code liegt als lokales Tauri-Plugin in `plugins/android`. Er wird beim Android-Build automatisch eingebunden.
|
|
|
|
## Wichtige Android-Hinweise
|
|
|
|
- Android erlaubt keinen komplett unsichtbaren, dauerhaft laufenden Zeitgeber. Der automatische Wechsel verwendet deshalb einen Foreground Service.
|
|
- `WallpaperManager.FLAG_LOCK` ist ab Android 7 verfügbar. Auf älteren Geräten setzt die App das allgemeine Hintergrundbild.
|
|
- Hersteller können Hintergrunddienste zusätzlich einschränken. Besonders bei Samsung/Xiaomi kann eine Ausnahme von der Akku-Optimierung nötig sein.
|
|
- „Ohne Limit“ bedeutet: kein App-Zähler wie Samsungs 15-Bilder-Grenze. Praktisch begrenzen freier Gerätespeicher und Dateisystem die Sammlung.
|
|
|
|
## Datenschutz
|
|
|
|
WallpaperFlow verarbeitet die ausgewählten Bilder ausschließlich lokal auf dem Gerät. Die App enthält keine Werbung, kein Tracking und keine Analysedienste. Bilder werden weder hochgeladen noch an Dritte weitergegeben.
|
|
|
|
Weitere Einzelheiten stehen in der [Datenschutzerklärung](PRIVACY.md).
|
|
|
|
## Veröffentlichungen
|
|
|
|
Für eine neue Veröffentlichung müssen die Version in `package.json`, `src-tauri/tauri.conf.json` und `src-tauri/Cargo.toml` gemeinsam erhöht und ein passender Git-Tag angelegt werden, beispielsweise `v0.1.0`. Der Android-`versionCode` muss bei jeder Veröffentlichung steigen.
|
|
|
|
Die Metadaten für F-Droid liegen unter `fastlane/metadata/android`. Das Buildrezept für F-Droid befindet sich in `.fdroid.yml`.
|
|
|
|
## Lizenz
|
|
|
|
Copyright (C) 2026 Christoph
|
|
|
|
WallpaperFlow ist freie Software und steht unter der GNU General Public License Version 3.0 (`GPL-3.0-only`). Die vollständigen Lizenzbedingungen stehen in [LICENSE](LICENSE).
|