setRefresh method
Setups the Google Earth in slave screens to refresh every 2 seconds.
Implementation
Future<void> setRefresh() async {
final pw = _sshData.passwordOrKey;
const search = '<href>##LG_PHPIFACE##kml\\/slave_{{slave}}.kml<\\/href>';
const replace =
'<href>##LG_PHPIFACE##kml\\/slave_{{slave}}.kml<\\/href><refreshMode>onInterval<\\/refreshMode><refreshInterval>2<\\/refreshInterval>';
final command =
'echo $pw | sudo -S sed -i "s/$search/$replace/" ~/earth/kml/slave/myplaces.kml';
final clear =
'echo $pw | sudo -S sed -i "s/$replace/$search/" ~/earth/kml/slave/myplaces.kml';
for (var i = 2; i <= screenAmount; i++) {
final clearCmd = clear.replaceAll('{{slave}}', i.toString());
final cmd = command.replaceAll('{{slave}}', i.toString());
String query = 'sshpass -p $pw ssh -t lg$i \'{{cmd}}\'';
try {
await _sshData.execute(query.replaceAll('{{cmd}}', clearCmd));
await _sshData.execute(query.replaceAll('{{cmd}}', cmd));
} catch (e) {
// ignore: avoid_print
print(e);
}
}
await reboot();
}