setAppName method

  1. @override
Future<String?> setAppName({
  1. required String appName,
})
override

Sets the app name in the Windows main.cpp file.

Parameters:

  • appName: The new app name to be set.

Returns: Future<String?>, a success message indicating the change in app name.

Implementation

@override
Future<String?> setAppName({required String appName}) async {
  final filePath = windowsAppPath;
  List? contentLineByLine = await readFileAsLineByline(
    filePath: filePath,
  );
  var currentAppName = await getAppName();
  if (currentAppName != null) {
    for (var i = 0; i < contentLineByLine.length; i++) {
      if (contentLineByLine[i]?.contains('window.CreateAndShow') ?? false) {
        contentLineByLine[i] = contentLineByLine[i]?.replaceFirst(
          currentAppName,
          appName,
        );
        break;
      } else if (contentLineByLine[i]?.contains('window.Create') ?? false) {
        contentLineByLine[i] = contentLineByLine[i]?.replaceFirst(
          currentAppName,
          appName,
        );
        break;
      }
    }
  }
  final message = await super.setAppName(appName: appName);
  await writeFile(
    filePath: filePath,
    content: contentLineByLine.join('\n'),
  );
  return 'App name set to $appName';
}