execute method
Implementation
@override
Future<bool?> execute(
String caller, String propertyOrFunction, List<dynamic> arguments) async {
/// setter
if (scope == null) return null;
if (!FmlEngine.isMobile) {
System.toast("NFC is only available on mobile devices", duration: 4);
statusmessage = "NFC is only available on mobile devices";
return false;
}
String function = propertyOrFunction.toLowerCase().trim();
if (function == "write") {
statusmessage = "Approach an NFC tag to Write";
String? message = toStr(elementAt(arguments, 0));
return await _write(message, restart: true);
} else if (method?.toLowerCase().trim() == "read") {
switch (function) {
case "read":
case "start":
statusmessage = "Approach an NFC tag to read";
Reader().registerListener(this);
return true;
case "stop":
statusmessage = "Please Start NFC Reader";
return await stop();
}
} else if (method?.toLowerCase().trim() == "write") {
switch (function) {
case "start":
case "write":
statusmessage = "Approach an NFC tag to write";
String? message = body;
return await _write(message);
case "stop":
statusmessage = "Please Start NFC Reader";
return await stop();
}
}
return super.execute(caller, propertyOrFunction, arguments);
}