updateMainActivity method

Future<void> updateMainActivity()

Implementation

Future<void> updateMainActivity() async {
  String oldPackagePath = oldPackageName!.replaceAll('.', '/');
  String javaPath = PATH_ACTIVITY + 'java/$oldPackagePath/MainActivity.java';
  String kotlinPath =
      PATH_ACTIVITY + 'kotlin/$oldPackagePath/MainActivity.kt';

  String newPackagePath = newPackageName.replaceAll('.', '/');
  String newJavaPath =
      PATH_ACTIVITY + 'java/$newPackagePath/MainActivity.java';
  String newKotlinPath =
      PATH_ACTIVITY + 'kotlin/$newPackagePath/MainActivity.kt';

  if (await File(javaPath).exists()) {
    print('Project is using Java');
    print('Updating MainActivity.java');
    await _replace(javaPath);

    print('Creating New Directory Structure');
    await Directory(PATH_ACTIVITY + 'java/$newPackagePath')
        .create(recursive: true);
    await File(javaPath).rename(newJavaPath);

    print('Deleting old directories');
    await deleteOldDirectories('java', oldPackageName!, PATH_ACTIVITY);
  } else if (await File(kotlinPath).exists()) {
    print('Project is using kotlin');
    print('Updating MainActivity.kt');
    await _replace(kotlinPath);

    print('Creating New Directory Structure');
    await Directory(PATH_ACTIVITY + 'kotlin/$newPackagePath')
        .create(recursive: true);
    await File(kotlinPath).rename(newKotlinPath);

    print('Deleting old directories');
    await deleteOldDirectories('kotlin', oldPackageName!, PATH_ACTIVITY);
  } else {
    print(
        'ERROR:: Unknown Directory structure, both java & kotlin files not found.');
  }
}