updateAndroidManifest method
void
updateAndroidManifest(
- String andConfiguration
)
Implementation
void updateAndroidManifest(String andConfiguration) async {
// read the file
final File androidManifestFile = File(_androidManifestFileName);
final List<String> lines = await androidManifestFile.readAsLines();
// iterate
bool inActivity = false;
bool inTargetActivity = false;
bool inPreviousContent = false;
List<String> newLines = [];
for (int x = 0; x < lines.length; x++) {
// get
String line = lines[x];
// delimiter
if (line.contains(_delimiter)) {
inPreviousContent = !inPreviousContent;
continue;
}
// end of activity
if (line.contains('</activity>')) {
// add our content
if (inTargetActivity) {
newLines.addAll(andConfiguration.split('\n'));
}
// done
inActivity = false;
}
// start of activity
if (line.contains('<activity')) {
inActivity = true;
}
if (inActivity && line.contains(_androidActivity)) {
inTargetActivity = true;
}
// done
if (inPreviousContent == false) {
newLines.add(line);
}
}
// update
androidManifestFile.writeAsString(newLines.join('\n'));
print('Android Manifest updated ($_androidManifestFileName)');
}