findMainActivity method
Finds MainActivity (Kotlin or Java) inside the project directory structure. Throws CodeInjectionException if not found.
Implementation
MainActivityInfo findMainActivity() {
final searchDirs = [
PathUtils.join(rootPath, 'android', 'app', 'src', 'main', 'kotlin'),
PathUtils.join(rootPath, 'android', 'app', 'src', 'main', 'java'),
];
for (final dir in searchDirs) {
if (FileUtils.exists(dir) && FileUtils.isDirectory(dir)) {
final files = FileUtils.listFiles(dir, recursive: true);
for (final file in files) {
final base = PathUtils.basename(file);
if (base == 'MainActivity.kt') {
return MainActivityInfo(file, MainActivityLanguage.kotlin);
} else if (base == 'MainActivity.java') {
return MainActivityInfo(file, MainActivityLanguage.java);
}
}
}
}
throw CodeInjectionException(
'Could not find MainActivity.kt or MainActivity.java in your Flutter project.');
}