readBinary static method

Future<List<int>> readBinary()

Implementation

static Future<List<int>> readBinary() async {
  var outByte = <int>[];
  final response = await FlutterNfcMynumber.transceive(
      Uint8List.fromList(MynumberCommand.commandReadBinary));
  if (listEquals(response, MynumberCommand.resultSuccess)) return response;
  final readLength = bytesToUnsignedShort(response[2], response[3], true) + 4;
  final blockNum = (readLength / blockLength.toDouble()).ceil();
  for (int i = 0; i < blockNum; i++) {
    var ret = await FlutterNfcMynumber.transceive(
        Uint8List.fromList(commandReadBlock(i)));
    commandResultCheck(ret);
    if (ret.length <= 2) {
      break;
    }
    outByte.addAll(ret.getRange(0, ret.length - 2));
  }
  return outByte.getRange(0, readLength).toList();
}