execute method
Implementation
@override
Future<bool?> execute(String caller, String propertyOrFunction, List<dynamic> arguments) async
{
/// setter
if (scope == null) return null;
if (!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 = S.toStr(S.item(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);
}