updateMainActivity method

Future<void> updateMainActivity()

Implementation

Future<void> updateMainActivity() async {
  String _oldPackagePath = oldPackageName!.replaceAll('.', '/');
  String _newPackagePath = newPackageName.replaceAll('.', '/');

  String _javaPath =
      PATH_ACTIVITY + 'java/$_oldPackagePath/MainActivity.java';
  String _newJavaPath =
      PATH_ACTIVITY + 'java/$_newPackagePath/MainActivity.java';

  String _kotlinPath =
      PATH_ACTIVITY + 'kotlin/$_oldPackagePath/MainActivity.kt';
  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.');
  }
}