addReceiver function
Implementation
void addReceiver(String packageName, List<String> lines) {
String receiverTemplate = getReceiver().replaceAll("{PACKAGE_NAME}", packageName);
int lineBeforeStart = lines.indexWhere((String line) {
return line.trim().contains('android:value="2" />');
});
if (lineBeforeStart == -1) {
print("Error: Could not find the insertion point for the receiver.");
return;
}
final receiverLines = receiverTemplate.split('\n').map((line) => line.trim()).toList();
final exists = receiverLines.every((receiverLine) {
return lines.any((existingLine) => existingLine.trim() == receiverLine);
});
if (exists) {
print("The receiver already exists in the file.");
return;
}
final indentedReceiver = receiverTemplate
.split('\n')
.map((line) => ' $line')
.join('\n');
lines.insert(lineBeforeStart + 1, indentedReceiver);
print("Receiver added successfully.");
}