commandReadBasicInfo static method
Implementation
static Future<BasicInfo> commandReadBasicInfo() async {
var basicInfoReadBinary = await FlutterNfcMynumber.transceive(
Uint8List.fromList(MynumberCommand.commandBasicInfoReadBinary));
commandResultCheck(basicInfoReadBinary);
var nameIndex = _indexOfCommand(
basicInfoReadBinary, MynumberCommand.commandBasicInfoHeaderName);
var addressIndex = _indexOfCommand(
basicInfoReadBinary, MynumberCommand.commandBasicInfoHeaderAddress);
var birthdayIndex = _indexOfCommand(
basicInfoReadBinary, MynumberCommand.commandBasicInfoHeaderBirthday);
var genderIndex = _indexOfCommand(
basicInfoReadBinary, MynumberCommand.commandBasicInfoHeaderGender);
var name =
basicInfoReadBinary.getRange(nameIndex + 3, addressIndex).toList();
var address =
basicInfoReadBinary.getRange(addressIndex + 3, birthdayIndex).toList();
var birthday =
basicInfoReadBinary.getRange(birthdayIndex + 3, genderIndex).toList();
var genderInfo = basicInfoReadBinary[genderIndex + 3].toRadixString(16);
var gender;
switch (genderInfo) {
case "31":
gender = Gender.MEN;
break;
case "32":
gender = Gender.WOMEN;
break;
case "33":
gender = Gender.OTHER;
break;
default:
gender = Gender.MEN;
}
return BasicInfo(
utf8.decode(name), utf8.decode(address), utf8.decode(birthday), gender);
}