feat: add custom house launcher icon, themed splash screen, and F-Droid metadata
Replace default Flutter icon with white house on sage green (#7A9A6D) background. Add native splash screen with themed colors (#F5F0E8 light, #2A2520 dark). Include F-Droid metadata with screenshots for de-DE and en-US locales. Add CHANGELOG.md tracking all releases from v1.0.0 to v1.1.3. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47
CHANGELOG.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to HouseHoldKeeper are documented in this file.
|
||||||
|
|
||||||
|
## [1.1.3] - 2026-03-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Custom app launcher icon — white house on sage green background
|
||||||
|
- Adaptive icon support for Android 8+ (API 26)
|
||||||
|
- Native splash screen with themed colors (beige light / brown dark)
|
||||||
|
- Android 12+ splash screen with icon background
|
||||||
|
- F-Droid metadata (de-DE, en-US) with screenshots and descriptions
|
||||||
|
- F-Droid metadata copy step in release workflow
|
||||||
|
|
||||||
|
## [1.1.2] - 2026-03-17
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Release workflow now sets Flutter app version from Git tag automatically
|
||||||
|
|
||||||
|
## [1.1.1] - 2026-03-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Integration tests for filtered and overdue task states in TaskListScreen
|
||||||
|
|
||||||
|
## [1.1.0] - 2026-03-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Calendar strip on home screen with day-by-day task overview
|
||||||
|
- Floating "Today" button for quick navigation
|
||||||
|
- Task history sheet showing past completions per task
|
||||||
|
- Task sorting by name, due date, or room with persistent preference
|
||||||
|
- Sort dropdown in HomeScreen and TaskListScreen
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- HomeScreen replaced with calendar-based composition
|
||||||
|
|
||||||
|
## [1.0.0] - 2026-03-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Initial MVP release
|
||||||
|
- Room management with drag-and-drop reordering
|
||||||
|
- Task creation with templates and custom tasks
|
||||||
|
- Recurring task scheduling (daily, weekly, monthly, yearly)
|
||||||
|
- Local notifications for due tasks
|
||||||
|
- German and English localization
|
||||||
|
- Light and dark theme support
|
||||||
|
- Local-only SQLite database (drift)
|
||||||
BIN
android/app/src/main/res/drawable-hdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
BIN
android/app/src/main/res/drawable-hdpi/splash.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
android/app/src/main/res/drawable-mdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
BIN
android/app/src/main/res/drawable-mdpi/splash.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
android/app/src/main/res/drawable-night-hdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
android/app/src/main/res/drawable-night-hdpi/splash.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
android/app/src/main/res/drawable-night-mdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
android/app/src/main/res/drawable-night-mdpi/splash.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
android/app/src/main/res/drawable-night-v21/background.png
Normal file
|
After Width: | Height: | Size: 69 B |
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
BIN
android/app/src/main/res/drawable-night-xhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
BIN
android/app/src/main/res/drawable-night-xxhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 11 KiB |
BIN
android/app/src/main/res/drawable-night-xxxhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
android/app/src/main/res/drawable-night/background.png
Normal file
|
After Width: | Height: | Size: 69 B |
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
BIN
android/app/src/main/res/drawable-v21/background.png
Normal file
|
After Width: | Height: | Size: 69 B |
@@ -1,12 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Modify this file to customize your launch splash screen -->
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:drawable="?android:colorBackground" />
|
<item>
|
||||||
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
<!-- You can insert your own image assets here -->
|
</item>
|
||||||
<!-- <item>
|
<item>
|
||||||
<bitmap
|
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
||||||
android:gravity="center"
|
</item>
|
||||||
android:src="@mipmap/launch_image" />
|
|
||||||
</item> -->
|
|
||||||
</layer-list>
|
</layer-list>
|
||||||
|
|||||||
BIN
android/app/src/main/res/drawable-xhdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
BIN
android/app/src/main/res/drawable-xhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
android/app/src/main/res/drawable-xxhdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
BIN
android/app/src/main/res/drawable-xxhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
android/app/src/main/res/drawable-xxxhdpi/android12splash.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
BIN
android/app/src/main/res/drawable-xxxhdpi/splash.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
android/app/src/main/res/drawable/background.png
Normal file
|
After Width: | Height: | Size: 69 B |
@@ -1,12 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Modify this file to customize your launch splash screen -->
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:drawable="@android:color/white" />
|
<item>
|
||||||
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
<!-- You can insert your own image assets here -->
|
</item>
|
||||||
<!-- <item>
|
<item>
|
||||||
<bitmap
|
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
||||||
android:gravity="center"
|
</item>
|
||||||
android:src="@mipmap/launch_image" />
|
|
||||||
</item> -->
|
|
||||||
</layer-list>
|
</layer-list>
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
|
<foreground>
|
||||||
|
<inset
|
||||||
|
android:drawable="@drawable/ic_launcher_foreground"
|
||||||
|
android:inset="16%" />
|
||||||
|
</foreground>
|
||||||
|
</adaptive-icon>
|
||||||
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 896 B |
|
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 537 B |
|
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.7 KiB |
22
android/app/src/main/res/values-night-v31/styles.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
|
||||||
|
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||||
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
|
<item name="android:windowFullscreen">false</item>
|
||||||
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
|
<item name="android:windowSplashScreenBackground">#2A2520</item>
|
||||||
|
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||||
|
<item name="android:windowSplashScreenIconBackgroundColor">#7A9A6D</item>
|
||||||
|
</style>
|
||||||
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
This theme determines the color of the Android Window while your
|
||||||
|
Flutter UI initializes, as well as behind your Flutter UI while its
|
||||||
|
running.
|
||||||
|
|
||||||
|
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||||
|
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||||
|
<item name="android:windowBackground">?android:colorBackground</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
@@ -5,6 +5,10 @@
|
|||||||
<!-- Show a splash screen on the activity. Automatically removed when
|
<!-- Show a splash screen on the activity. Automatically removed when
|
||||||
the Flutter engine draws its first frame -->
|
the Flutter engine draws its first frame -->
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||||
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
|
<item name="android:windowFullscreen">false</item>
|
||||||
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
This theme determines the color of the Android Window while your
|
This theme determines the color of the Android Window while your
|
||||||
|
|||||||
22
android/app/src/main/res/values-v31/styles.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
|
||||||
|
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||||
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
|
<item name="android:windowFullscreen">false</item>
|
||||||
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
|
<item name="android:windowSplashScreenBackground">#F5F0E8</item>
|
||||||
|
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||||
|
<item name="android:windowSplashScreenIconBackgroundColor">#7A9A6D</item>
|
||||||
|
</style>
|
||||||
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
This theme determines the color of the Android Window while your
|
||||||
|
Flutter UI initializes, as well as behind your Flutter UI while its
|
||||||
|
running.
|
||||||
|
|
||||||
|
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||||
|
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||||
|
<item name="android:windowBackground">?android:colorBackground</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
4
android/app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="ic_launcher_background">#7A9A6D</color>
|
||||||
|
</resources>
|
||||||
@@ -5,6 +5,10 @@
|
|||||||
<!-- Show a splash screen on the activity. Automatically removed when
|
<!-- Show a splash screen on the activity. Automatically removed when
|
||||||
the Flutter engine draws its first frame -->
|
the Flutter engine draws its first frame -->
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||||
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
|
<item name="android:windowFullscreen">false</item>
|
||||||
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
This theme determines the color of the Android Window while your
|
This theme determines the color of the Android Window while your
|
||||||
|
|||||||
BIN
assets/icon/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
assets/icon/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
10
fdroid-metadata/de.jeanlucmakiola.household_keeper.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
AuthorName: Jean-Luc Makiola
|
||||||
|
License: MIT
|
||||||
|
Name: Household Keeper
|
||||||
|
|
||||||
|
Categories:
|
||||||
|
- System
|
||||||
|
|
||||||
|
#WebSite: https://git.jlmak.dev/jlmak/HouseHoldKeaper
|
||||||
|
SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/HouseHoldKeaper
|
||||||
|
IssueTracker: https://gitea.jeanlucmakiola.de/makiolaj/HouseHoldKeaper/issues
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Household Keeper hilft dir, deine Haushaltsaufgaben mühelos zu organisieren und zu verwalten. Erstelle Aufgaben, setze Erinnerungen und sorge dafür, dass dein Zuhause reibungslos läuft.
|
||||||
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 158 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 114 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Dein Haushalt, entspannt organisiert.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Household Keeper helps you organize and manage your household tasks effortlessly. Create tasks, set reminders, and keep your home running smoothly.
|
||||||
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 158 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 114 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Your household, effortlessly organized.
|
||||||
25
pubspec.yaml
@@ -31,6 +31,31 @@ dev_dependencies:
|
|||||||
riverpod_generator: ^4.0.3
|
riverpod_generator: ^4.0.3
|
||||||
drift_dev: ^2.31.0
|
drift_dev: ^2.31.0
|
||||||
build_runner: ^2.4.0
|
build_runner: ^2.4.0
|
||||||
|
flutter_launcher_icons: ^0.14.3
|
||||||
|
flutter_native_splash: ^2.4.5
|
||||||
|
|
||||||
|
flutter_launcher_icons:
|
||||||
|
android: true
|
||||||
|
ios: false
|
||||||
|
image_path: "assets/icon/ic_launcher.png"
|
||||||
|
adaptive_icon_background: "#7A9A6D"
|
||||||
|
adaptive_icon_foreground: "assets/icon/ic_launcher_foreground.png"
|
||||||
|
min_sdk_android: 21
|
||||||
|
|
||||||
|
flutter_native_splash:
|
||||||
|
color: "#F5F0E8"
|
||||||
|
color_dark: "#2A2520"
|
||||||
|
image: "assets/icon/ic_launcher.png"
|
||||||
|
image_dark: "assets/icon/ic_launcher.png"
|
||||||
|
android: true
|
||||||
|
ios: false
|
||||||
|
android_12:
|
||||||
|
color: "#F5F0E8"
|
||||||
|
color_dark: "#2A2520"
|
||||||
|
image: "assets/icon/ic_launcher_foreground.png"
|
||||||
|
image_dark: "assets/icon/ic_launcher_foreground.png"
|
||||||
|
icon_background_color: "#7A9A6D"
|
||||||
|
icon_background_color_dark: "#7A9A6D"
|
||||||
|
|
||||||
flutter:
|
flutter:
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
|||||||