updateColorsFile function
Updates the colors.xml with the new adaptive launcher icon color
Implementation
void updateColorsFile(File colorsFile, String backgroundColor) {
// Write foreground color
final List<String> lines = colorsFile.readAsLinesSync();
bool foundExisting = false;
for (int x = 0; x < lines.length; x++) {
String line = lines[x];
if (line.contains('name="ic_launcher_background"')) {
foundExisting = true;
// replace anything between tags which does not contain another tag
line = line.replaceAll(RegExp(r'>([^><]*)<'), '>$backgroundColor<');
lines[x] = line;
break;
}
}
// Add new line if we didn't find an existing value
if (!foundExisting) {
lines.insert(
lines.length - 1,
'\t<color name="ic_launcher_background">$backgroundColor</color>',
);
}
colorsFile.writeAsStringSync(lines.join('\n'));
}