firka(android): fix splash screen

This commit is contained in:
2026-02-27 23:15:13 +01:00
committed by 4831c0
parent 28fb054571
commit 0c4bc4cd40
16 changed files with 112 additions and 47 deletions

View File

@@ -35,7 +35,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_ace" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_ace_round" > android:roundIcon="@mipmap/ic_ace_round" >
<intent-filter> <intent-filter>
@@ -49,7 +49,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_ace_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_ace_f_round" > android:roundIcon="@mipmap/ic_ace_f_round" >
<intent-filter> <intent-filter>
@@ -63,7 +63,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_bi" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_bi_round" > android:roundIcon="@mipmap/ic_bi_round" >
<intent-filter> <intent-filter>
@@ -77,7 +77,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_bi_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_bi_f_round" > android:roundIcon="@mipmap/ic_bi_f_round" >
<intent-filter> <intent-filter>
@@ -91,7 +91,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_cactus" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_cactus_round" > android:roundIcon="@mipmap/ic_cactus_round" >
<intent-filter> <intent-filter>
@@ -105,7 +105,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_cc" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_cc_round" > android:roundIcon="@mipmap/ic_cc_round" >
<intent-filter> <intent-filter>
@@ -119,7 +119,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_enby" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_enby_round" > android:roundIcon="@mipmap/ic_enby_round" >
<intent-filter> <intent-filter>
@@ -133,7 +133,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_enby_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_enby_f_round" > android:roundIcon="@mipmap/ic_enby_f_round" >
<intent-filter> <intent-filter>
@@ -147,7 +147,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_fidesz" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_fidesz_round" > android:roundIcon="@mipmap/ic_fidesz_round" >
<intent-filter> <intent-filter>
@@ -161,7 +161,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_filc" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_filc_round" > android:roundIcon="@mipmap/ic_filc_round" >
<intent-filter> <intent-filter>
@@ -175,7 +175,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_filco" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_filco_round" > android:roundIcon="@mipmap/ic_filco_round" >
<intent-filter> <intent-filter>
@@ -189,7 +189,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_galaxy" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_galaxy_round" > android:roundIcon="@mipmap/ic_galaxy_round" >
<intent-filter> <intent-filter>
@@ -203,7 +203,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_gay" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_gay_round" > android:roundIcon="@mipmap/ic_gay_round" >
<intent-filter> <intent-filter>
@@ -217,7 +217,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_gay_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_gay_f_round" > android:roundIcon="@mipmap/ic_gay_f_round" >
<intent-filter> <intent-filter>
@@ -231,7 +231,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_half_firka_2" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_half_firka_2_round" > android:roundIcon="@mipmap/ic_half_firka_2_round" >
<intent-filter> <intent-filter>
@@ -245,7 +245,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_kreta" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_kreta_round" > android:roundIcon="@mipmap/ic_kreta_round" >
<intent-filter> <intent-filter>
@@ -259,7 +259,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lesb" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lesb_round" > android:roundIcon="@mipmap/ic_lesb_round" >
<intent-filter> <intent-filter>
@@ -273,7 +273,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lesb_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lesb_f_round" > android:roundIcon="@mipmap/ic_lesb_f_round" >
<intent-filter> <intent-filter>
@@ -287,7 +287,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lgbtq" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lgbtq_round" > android:roundIcon="@mipmap/ic_lgbtq_round" >
<intent-filter> <intent-filter>
@@ -301,7 +301,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lgbtq_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lgbtq_f_round" > android:roundIcon="@mipmap/ic_lgbtq_f_round" >
<intent-filter> <intent-filter>
@@ -315,7 +315,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lgbtqp" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lgbtqp_round" > android:roundIcon="@mipmap/ic_lgbtqp_round" >
<intent-filter> <intent-filter>
@@ -329,7 +329,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lgbtqp_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lgbtqp_f_round" > android:roundIcon="@mipmap/ic_lgbtqp_f_round" >
<intent-filter> <intent-filter>
@@ -343,7 +343,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_lidl" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_lidl_round" > android:roundIcon="@mipmap/ic_lidl_round" >
<intent-filter> <intent-filter>
@@ -357,7 +357,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_mkkp" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_mkkp_round" > android:roundIcon="@mipmap/ic_mkkp_round" >
<intent-filter> <intent-filter>
@@ -371,7 +371,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_nuke" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_nuke_round" > android:roundIcon="@mipmap/ic_nuke_round" >
<intent-filter> <intent-filter>
@@ -385,7 +385,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_modern" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_modern_round" > android:roundIcon="@mipmap/ic_modern_round" >
<intent-filter> <intent-filter>
@@ -399,7 +399,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_o1g" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_o1g_round" > android:roundIcon="@mipmap/ic_o1g_round" >
<intent-filter> <intent-filter>
@@ -413,7 +413,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_old" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_old_round" > android:roundIcon="@mipmap/ic_old_round" >
<intent-filter> <intent-filter>
@@ -427,7 +427,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_paper" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_paper_round" > android:roundIcon="@mipmap/ic_paper_round" >
<intent-filter> <intent-filter>
@@ -441,7 +441,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_pear" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_pear_round" > android:roundIcon="@mipmap/ic_pear_round" >
<intent-filter> <intent-filter>
@@ -455,7 +455,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_pixel" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_pixel_round" > android:roundIcon="@mipmap/ic_pixel_round" >
<intent-filter> <intent-filter>
@@ -469,7 +469,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_pixelized" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_pixelized_round" > android:roundIcon="@mipmap/ic_pixelized_round" >
<intent-filter> <intent-filter>
@@ -483,7 +483,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_pride" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_pride_round" > android:roundIcon="@mipmap/ic_pride_round" >
<intent-filter> <intent-filter>
@@ -497,7 +497,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_proto" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_proto_round" > android:roundIcon="@mipmap/ic_proto_round" >
<intent-filter> <intent-filter>
@@ -511,7 +511,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_refilc" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_refilc_round" > android:roundIcon="@mipmap/ic_refilc_round" >
<intent-filter> <intent-filter>
@@ -525,7 +525,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_refulc" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_refulc_round" > android:roundIcon="@mipmap/ic_refulc_round" >
<intent-filter> <intent-filter>
@@ -539,7 +539,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_repont" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_repont_round" > android:roundIcon="@mipmap/ic_repont_round" >
<intent-filter> <intent-filter>
@@ -553,7 +553,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_szivacs" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_szivacs_round" > android:roundIcon="@mipmap/ic_szivacs_round" >
<intent-filter> <intent-filter>
@@ -567,7 +567,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_tisza" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_tisza_round" > android:roundIcon="@mipmap/ic_tisza_round" >
<intent-filter> <intent-filter>
@@ -581,7 +581,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_trans" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_trans_round" > android:roundIcon="@mipmap/ic_trans_round" >
<intent-filter> <intent-filter>
@@ -595,7 +595,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_trans_f" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_trans_f_round" > android:roundIcon="@mipmap/ic_trans_f_round" >
<intent-filter> <intent-filter>
@@ -609,7 +609,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_void_icon" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_void_icon_round" > android:roundIcon="@mipmap/ic_void_icon_round" >
<intent-filter> <intent-filter>
@@ -623,7 +623,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_xmas1" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_xmas1_round" > android:roundIcon="@mipmap/ic_xmas1_round" >
<intent-filter> <intent-filter>
@@ -637,7 +637,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_xmas2" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_xmas2_round" > android:roundIcon="@mipmap/ic_xmas2_round" >
<intent-filter> <intent-filter>
@@ -651,7 +651,7 @@
android:targetActivity=".MainActivity" android:targetActivity=".MainActivity"
android:exported="true" android:exported="true"
android:enabled="false" android:enabled="false"
android:icon="@mipmap/ic_xmas3" android:icon="@mipmap/launcher_icon"
android:roundIcon="@mipmap/ic_xmas3_round" > android:roundIcon="@mipmap/ic_xmas3_round" >
<intent-filter> <intent-filter>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -8,6 +8,7 @@
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#7ca120</item> <item name="android:windowSplashScreenBackground">#7ca120</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
<item name="android:windowSplashScreenIconBackgroundColor">#7ca120</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

View File

@@ -8,6 +8,7 @@
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#7ca120</item> <item name="android:windowSplashScreenBackground">#7ca120</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
<item name="android:windowSplashScreenIconBackgroundColor">#7ca120</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

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,16 +1,21 @@
flutter_native_splash: flutter_native_splash:
color: "#7ca120" color: "#7ca120"
image: assets/images/logos/splash.png image: assets/images/logos/splash.png
# Keep image centered instead of fill-scaled (stops icon looking zoomed/cropped)
android_gravity: center
# Dark mode - same color as light mode for consistency # Dark mode - same color as light mode for consistency
color_dark: "#7ca120" color_dark: "#7ca120"
image_dark: assets/images/logos/splash.png image_dark: assets/images/logos/splash.png
# Android 12+ uses 960×960 image with logo in 640px circle (generated by codegen) to avoid cropping
android_12: android_12:
image: assets/images/logos/splash.png image: assets/images/logos/splash_android12.png
color: "#7ca120" color: "#7ca120"
color_dark: "#7ca120" color_dark: "#7ca120"
image_dark: assets/images/logos/splash.png image_dark: assets/images/logos/splash_android12.png
icon_background_color: "#7ca120"
icon_background_color_dark: "#7ca120"
ios: true ios: true
web: false web: false

View File

@@ -1,5 +1,6 @@
import 'dart:io'; import 'dart:io';
import 'package:image/image.dart' as img;
import 'package:path/path.dart' as p; import 'package:path/path.dart' as p;
void main() async { void main() async {
@@ -30,6 +31,15 @@ void main() async {
ran = true; ran = true;
} }
if (_splashOutOfDate(root)) {
await _generateAndroid12SplashImage(root);
stdout.writeln(
'Splash out of date, running flutter_native_splash:create...',
);
await _run('dart', ['run', 'flutter_native_splash:create'], root);
ran = true;
}
if (!ran) { if (!ran) {
stdout.writeln('All generated files are up to date.'); stdout.writeln('All generated files are up to date.');
} }
@@ -118,6 +128,54 @@ bool _isarOutOfDate(String root) {
return false; return false;
} }
bool _splashOutOfDate(String root) {
final config = File(p.join(root, 'flutter_native_splash.yaml'));
final splashImage = File(p.join(root, 'assets/images/logos/splash.png'));
final inputs = [config, splashImage]
.where((f) => f.existsSync())
.map((f) => File(p.canonicalize(f.path)))
.toList();
if (inputs.isEmpty) return false;
final output = File(
p.join(root, 'android/app/src/main/res/drawable/launch_background.xml'),
);
return _anyNewerThan(inputs, output);
}
Future<void> _generateAndroid12SplashImage(String root) async {
const size = 960;
const circleDiameter = 640.0;
final splashPath = p.join(root, 'assets/images/logos/splash.png');
final outPath = p.join(root, 'assets/images/logos/splash_android12.png');
final splashFile = File(splashPath);
if (!splashFile.existsSync()) return;
final bytes = await splashFile.readAsBytes();
final logo = img.decodeImage(bytes);
if (logo == null) return;
final scale = (circleDiameter / logo.width).clamp(0.0, 1.0);
final scaleH = (circleDiameter / logo.height).clamp(0.0, 1.0);
final s = scale < scaleH ? scale : scaleH;
final w = (logo.width * s).round();
final h = (logo.height * s).round();
final resized = img.copyResize(logo, width: w, height: h);
final canvas = img.Image(width: size, height: size, numChannels: 4);
img.compositeImage(
canvas,
resized,
dstX: (size - w) ~/ 2,
dstY: (size - h) ~/ 2,
);
await File(outPath).writeAsBytes(img.encodePng(canvas));
stdout.writeln(
'Generated $outPath (960x960, logo fits in ${circleDiameter.toInt()}px circle).',
);
}
Future<bool> _run( Future<bool> _run(
String executable, String executable,
List<String> args, List<String> args,