parse method
Attempts to parse the raw Result's contents as a particular type of information (email, URL, etc.) and return a ParsedResult encapsulating the result of parsing.
@param theResult the raw Result to parse @return ParsedResult encapsulating the parsing result
Implementation
@override
SMSParsedResult? parse(Result result) {
final rawText = ResultParser.getMassagedText(result);
if (!(rawText.startsWith('smsto:') ||
rawText.startsWith('SMSTO:') ||
rawText.startsWith('mmsto:') ||
rawText.startsWith('MMSTO:'))) {
return null;
}
// Thanks to dominik.wild for suggesting this enhancement to support
// smsto:number:body URIs
String number = rawText.substring(6);
String? body;
final bodyStart = number.indexOf(':');
if (bodyStart >= 0) {
body = number.substring(bodyStart + 1);
number = number.substring(0, bodyStart);
}
return SMSParsedResult.single(number, null, null, body);
}