onStartPrintText method

  1. @override
Future<void> onStartPrintText({
  1. required List<PrintLabelModel> printLabelModelList,
  2. required dynamic onResult(
    1. bool isSuccess,
    2. String message
    ),
})
override

Implementation

@override
Future<void> onStartPrintText(
    {required List<PrintLabelModel> printLabelModelList,
    required Function(bool isSuccess, String message) onResult}) async {
  try {
    printLabelModelList.removeWhere((element) => element.text?.isEmpty ?? true);
    var result = await methodChannel.invokeMethod(PluginConstant.onStartPrintText,
        printLabelModelList.map((e) => jsonEncode(e.toJson())).toList());
    if (result is bool) {
      if (result) {
        onResult(true, MessageConstant.printSucceed);
      } else {
        onResult(false, MessageConstant.printFailed);
      }
    } else {
      onResult(false, result);
    }
  } on PlatformException catch (e) {
    LogHelper.error(e, event: PluginConstant.onStartPrintText);
    onResult(false, e.message ?? MessageConstant.printFailed);
  }
}