From 47ff925859e11e50254047e278612d971c589c56 Mon Sep 17 00:00:00 2001 From: fakz9 Date: Sun, 19 Nov 2023 00:37:42 +0300 Subject: [PATCH] connector retry reconnect --- .../printing/PrinterConnector.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/denco/assemblrprintingservice/printing/PrinterConnector.java b/app/src/main/java/com/denco/assemblrprintingservice/printing/PrinterConnector.java index bf844b1..c19e6d9 100644 --- a/app/src/main/java/com/denco/assemblrprintingservice/printing/PrinterConnector.java +++ b/app/src/main/java/com/denco/assemblrprintingservice/printing/PrinterConnector.java @@ -63,8 +63,23 @@ public class PrinterConnector implements IPOSListener { return (int) (inches * this.PRINTER_DPI); } - public void printBitmap(Bitmap bitmap) { + static final int RETRY_COUNT = 5; + public void printBitmap(Bitmap bitmap) { + if (printer == null) { + this.reconnect(); + int iteration = 0; + while (true) { + if (printer != null) break; + if (iteration > RETRY_COUNT) return; + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + iteration++; + } + } Dimensions dimensions = this.config.getDimensions(); int widthInDots = mmToDots(dimensions.getWidth());