execute method

  1. @override
Future<void> execute()
override

Implementation

@override
Future<void> execute() async {
  // Extract scaling from config, default to 0.65 if not present
  final double scaling =
      (config.splash['scaling'] as num?)?.toDouble() ?? 0.65;

  final processedImage = processImage(config.iconPath, scaling: scaling);

  // Save the processed image for the native generators to use
  final processedPath = 'rebrand_processed_asset.png';
  File(processedPath).writeAsBytesSync(img.encodePng(processedImage));

  // Generate the splash using the perfectly padded image
  await _writeAndRunSplash(processedPath);

  // Cleanup the temporary processed image
  if (File(processedPath).existsSync()) {
    File(processedPath).deleteSync();
  }
}