From 626a9dfc2e948c5c3a450019d498d85510d8ef12 Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 6 Dec 2022 15:32:57 +0100 Subject: [PATCH 1/6] [UNTIL-1390] Implemented printing intensity --- buildSrc/src/main/java/ConfigData.kt | 4 +- .../java/de/tillhub/printengine/Printer.kt | 1 + .../tillhub/printengine/PrinterController.kt | 6 +- .../printengine/data/PrintingIntensity.kt | 9 + .../printengine/emulated/EmulatedPrinter.kt | 4 + .../de/tillhub/printengine/pax/PaxPrinter.kt | 9 + .../printengine/pax/PaxPrinterController.kt | 24 +++ .../tillhub/printengine/sunmi/SunmiPrinter.kt | 4 + .../sunmi/SunmiPrinterController.kt | 4 + .../pax/PaxPrinterControllerTest.kt | 17 ++ .../tillhub/printengine/pax/PaxPrinterTest.kt | 185 +++++++++++++----- 11 files changed, 212 insertions(+), 55 deletions(-) create mode 100644 src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt diff --git a/buildSrc/src/main/java/ConfigData.kt b/buildSrc/src/main/java/ConfigData.kt index 093c3a4..408a59e 100644 --- a/buildSrc/src/main/java/ConfigData.kt +++ b/buildSrc/src/main/java/ConfigData.kt @@ -5,8 +5,8 @@ object ConfigData { const val applicationId = "de.tillhub.printengine" const val minSdkVersion = 21 const val targetSdkVersion = 32 - const val versionCode = 11 - const val versionName = "1.1.0" + const val versionCode = 12 + const val versionName = "1.2.0" val JAVA_VERSION = JavaVersion.VERSION_11 val JVM_TARGET = JavaVersion.VERSION_11.toString() diff --git a/src/main/java/de/tillhub/printengine/Printer.kt b/src/main/java/de/tillhub/printengine/Printer.kt index 84a814a..3f06af8 100644 --- a/src/main/java/de/tillhub/printengine/Printer.kt +++ b/src/main/java/de/tillhub/printengine/Printer.kt @@ -14,6 +14,7 @@ interface Printer { fun disable() fun observeConnection(): Flow fun getPrinterState(): PrinterState + fun setPrintingIntensity(intensity: PrintingIntensity) suspend fun getPrinterInfo(): PrinterResult suspend fun printText(text: String): PrinterResult suspend fun printReceipt(text: String, headerImage: Bitmap?): PrinterResult diff --git a/src/main/java/de/tillhub/printengine/PrinterController.kt b/src/main/java/de/tillhub/printengine/PrinterController.kt index 1a98a8e..234194c 100644 --- a/src/main/java/de/tillhub/printengine/PrinterController.kt +++ b/src/main/java/de/tillhub/printengine/PrinterController.kt @@ -1,10 +1,7 @@ package de.tillhub.printengine import android.graphics.Bitmap -import de.tillhub.printengine.data.PrinterInfo -import de.tillhub.printengine.data.PrinterState -import de.tillhub.printengine.data.PrintingFontType -import de.tillhub.printengine.data.RawPrinterData +import de.tillhub.printengine.data.* interface PrinterController { fun sendRawData(data: RawPrinterData) @@ -16,6 +13,7 @@ interface PrinterController { fun printImage(image: Bitmap) fun feedPaper() fun cutPaper() + fun setIntensity(intensity: PrintingIntensity) fun start() suspend fun getPrinterInfo(): PrinterInfo } \ No newline at end of file diff --git a/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt b/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt new file mode 100644 index 0000000..f6f11cb --- /dev/null +++ b/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt @@ -0,0 +1,9 @@ +package de.tillhub.printengine.data + +enum class PrintingIntensity { + DEFAULT, + LIGHT, + DARK, + DARKER, + DARKEST +} \ No newline at end of file diff --git a/src/main/java/de/tillhub/printengine/emulated/EmulatedPrinter.kt b/src/main/java/de/tillhub/printengine/emulated/EmulatedPrinter.kt index feecdd1..1617294 100644 --- a/src/main/java/de/tillhub/printengine/emulated/EmulatedPrinter.kt +++ b/src/main/java/de/tillhub/printengine/emulated/EmulatedPrinter.kt @@ -31,6 +31,10 @@ class EmulatedPrinter : Printer { override fun getPrinterState(): PrinterState = PrinterState.PrinterNotDetected + override fun setPrintingIntensity(intensity: PrintingIntensity) { + logInfo("setting printer intensity to: ${intensity.name}") + } + override suspend fun getPrinterInfo(): PrinterResult { return PrinterResult.Success(PrinterInfo( serialNumber = "n/a", diff --git a/src/main/java/de/tillhub/printengine/pax/PaxPrinter.kt b/src/main/java/de/tillhub/printengine/pax/PaxPrinter.kt index a70c8ec..5cf35ab 100644 --- a/src/main/java/de/tillhub/printengine/pax/PaxPrinter.kt +++ b/src/main/java/de/tillhub/printengine/pax/PaxPrinter.kt @@ -18,6 +18,7 @@ class PaxPrinter( ) : Printer { private var enabled: Boolean = true + private var printingIntensity: PrintingIntensity = PrintingIntensity.DEFAULT override fun connect(context: Context) { paxPrintService.initPrinterService(context) @@ -38,6 +39,10 @@ class PaxPrinter( it.getPrinterState() } + override fun setPrintingIntensity(intensity: PrintingIntensity) { + printingIntensity = intensity + } + override suspend fun getPrinterInfo(): PrinterResult = paxPrintService.withPrinterCatching { it.getPrinterInfo().let { info -> @@ -65,6 +70,7 @@ class PaxPrinter( |""".trimMargin() ) if (enabled) { + it.setIntensity(printingIntensity) it.setFontSize(it.getPrinterInfo().printingFontType) it.printText(text) it.feedPaper() @@ -83,6 +89,7 @@ class PaxPrinter( |""".trimMargin() ) if (enabled) { + printer.setIntensity(printingIntensity) printer.setFontSize(printer.getPrinterInfo().printingFontType) headerImage?.let { printer.printImage(it) } printer.printText(text) @@ -113,6 +120,7 @@ class PaxPrinter( |""".trimMargin() ) if (enabled) { + printer.setIntensity(printingIntensity) printer.setFontSize(printer.getPrinterInfo().printingFontType) headerImage?.let { printer.printImage(it) } printer.printText(rawReceiptText) @@ -136,6 +144,7 @@ class PaxPrinter( |""".trimMargin() ) if (enabled) { + printer.setIntensity(printingIntensity) printer.setFontSize(printer.getPrinterInfo().printingFontType) printer.sendRawData(receipt.rawData) printer.feedPaper() diff --git a/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt b/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt index 5d30abe..c73f381 100644 --- a/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt +++ b/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt @@ -130,6 +130,24 @@ class PaxPrinterController( printerService.cutPaper(FULL_PAPER_CUT) } + /** + * Sets printing intensity (darkness of the print) + * DEFAULT: 100% + * LIGHT: 50% + * DARK: 150% + * DARKER: 250% + * DARKEST: 500% + */ + override fun setIntensity(intensity: PrintingIntensity) { + printerService.setGray(when (intensity) { + PrintingIntensity.DEFAULT -> DEFAULT_INTENSITY + PrintingIntensity.LIGHT -> LIGHT_INTENSITY + PrintingIntensity.DARK -> DARK_INTENSITY + PrintingIntensity.DARKER -> DARKER_INTENSITY + PrintingIntensity.DARKEST -> DARKEST_INTENSITY + }) + } + /** * Start printer and prints data in buffer.This is synchronous interface. */ @@ -163,6 +181,12 @@ class PaxPrinterController( } companion object { + private const val DEFAULT_INTENSITY = 1 + private const val LIGHT_INTENSITY = 50 + private const val DARK_INTENSITY = 150 + private const val DARKER_INTENSITY = 250 + private const val DARKEST_INTENSITY = 500 + const val FULL_PAPER_CUT = 0 const val PAPER_FEEDER_DIVIDER = 20 const val PAPER_FEEDER_LENGTH_END = 180 diff --git a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinter.kt b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinter.kt index 504fca1..a5f9186 100644 --- a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinter.kt +++ b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinter.kt @@ -38,6 +38,10 @@ class SunmiPrinter( it.getPrinterState() } + override fun setPrintingIntensity(intensity: PrintingIntensity) { + // not needed for sunmi devices + } + override suspend fun getPrinterInfo(): PrinterResult = printerService.withPrinterCatching { it.getPrinterInfo().let { info -> diff --git a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt index 1519179..fba9961 100644 --- a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt +++ b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt @@ -153,6 +153,10 @@ class SunmiPrinterController( } } + override fun setIntensity(intensity: PrintingIntensity) { + // not needed for sunmi devices + } + override fun start() { // not needed for sunmi devices } diff --git a/src/test/java/de/tillhub/printengine/pax/PaxPrinterControllerTest.kt b/src/test/java/de/tillhub/printengine/pax/PaxPrinterControllerTest.kt index 144f026..3ea1c7e 100644 --- a/src/test/java/de/tillhub/printengine/pax/PaxPrinterControllerTest.kt +++ b/src/test/java/de/tillhub/printengine/pax/PaxPrinterControllerTest.kt @@ -37,6 +37,7 @@ class PaxPrinterControllerTest : FunSpec({ every { printStr(any(), any()) } just Runs every { step(any()) } just Runs every { printBitmap(any()) } just Runs + every { setGray(any()) } just Runs every { cutPaper(any()) } just Runs every { start() } returns 0 } @@ -175,6 +176,22 @@ class PaxPrinterControllerTest : FunSpec({ } } + test("setIntensity") { + printerController.setIntensity(PrintingIntensity.DEFAULT) + printerController.setIntensity(PrintingIntensity.LIGHT) + printerController.setIntensity(PrintingIntensity.DARK) + printerController.setIntensity(PrintingIntensity.DARKER) + printerController.setIntensity(PrintingIntensity.DARKEST) + + verify(ordering = Ordering.ORDERED) { + printerService.setGray(1) + printerService.setGray(50) + printerService.setGray(150) + printerService.setGray(250) + printerService.setGray(500) + } + } + test("start") { printerController.start() diff --git a/src/test/java/de/tillhub/printengine/pax/PaxPrinterTest.kt b/src/test/java/de/tillhub/printengine/pax/PaxPrinterTest.kt index 2600fdb..f04fb89 100644 --- a/src/test/java/de/tillhub/printengine/pax/PaxPrinterTest.kt +++ b/src/test/java/de/tillhub/printengine/pax/PaxPrinterTest.kt @@ -37,6 +37,7 @@ class PaxPrinterTest : DescribeSpec({ every { sendRawData(any()) } just Runs every { feedPaper() } just Runs every { cutPaper() } just Runs + every { setIntensity(any()) } just Runs every { start() } just Runs coEvery { getPrinterInfo() } returns PrinterInfo( serialNumber = "n/a", @@ -106,71 +107,157 @@ class PaxPrinterTest : DescribeSpec({ printer.enable() } - it("printText") { - printer.printText("text_to_print") + describe("default intensity") { + it("printText") { + printer.printText("text_to_print") + + verify { + controller.setIntensity(PrintingIntensity.DEFAULT) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printText("text_to_print") + controller.feedPaper() + controller.start() + } + } - verify { - controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) - controller.printText("text_to_print") - controller.feedPaper() - controller.start() + it("printReceipt without image") { + printer.printReceipt("receipt_to_print", null) + + verify { + controller.setIntensity(PrintingIntensity.DEFAULT) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printText("receipt_to_print") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("receipt_to_print") + } + + verify(inverse = true) { + controller.printImage(any()) + } } - } - it("printReceipt without image") { - printer.printReceipt("receipt_to_print", null) + it("printReceipt with image") { + printer.printReceipt("receipt_to_print", bitmap) + + verify { + controller.setIntensity(PrintingIntensity.DEFAULT) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printImage(bitmap) + controller.printText("receipt_to_print") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("receipt_to_print") + } + } - verify { - controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) - controller.printText("receipt_to_print") - controller.feedPaper() - controller.start() - analytics.logPrintReceipt("receipt_to_print") + it("printReceipt") { + printer.printReceipt("raw_receipt_text", "barcode", bitmap, "signature_qr_code") + + verify { + controller.setIntensity(PrintingIntensity.DEFAULT) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printImage(bitmap) + controller.printText("raw_receipt_text") + controller.printQr("signature_qr_code") + controller.printBarcode("barcode") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("raw_receipt_text") + } } - verify(inverse = true) { - controller.printImage(any()) + it("print RawReceipt") { + val rawReceipt = RawReceipt(RawPrinterData("raw_data".toByteArray())) + printer.printReceipt(rawReceipt) + + verify { + controller.setIntensity(PrintingIntensity.DEFAULT) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.sendRawData(rawReceipt.rawData) + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("raw_data") + } } } - it("printReceipt with image") { - printer.printReceipt("receipt_to_print", bitmap) + describe("changed intensity") { + beforeTest { + printer.setPrintingIntensity(PrintingIntensity.DARK) + } - verify { - controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) - controller.printImage(bitmap) - controller.printText("receipt_to_print") - controller.feedPaper() - controller.start() - analytics.logPrintReceipt("receipt_to_print") + it("printText") { + printer.printText("text_to_print") + + verify { + controller.setIntensity(PrintingIntensity.DARK) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printText("text_to_print") + controller.feedPaper() + controller.start() + } } - } - it("printReceipt") { - printer.printReceipt("raw_receipt_text", "barcode", bitmap, "signature_qr_code") + it("printReceipt without image") { + printer.printReceipt("receipt_to_print", null) + + verify { + controller.setIntensity(PrintingIntensity.DARK) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printText("receipt_to_print") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("receipt_to_print") + } + + verify(inverse = true) { + controller.printImage(any()) + } + } - verify { - controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) - controller.printImage(bitmap) - controller.printText("raw_receipt_text") - controller.printQr("signature_qr_code") - controller.printBarcode("barcode") - controller.feedPaper() - controller.start() - analytics.logPrintReceipt("raw_receipt_text") + it("printReceipt with image") { + printer.printReceipt("receipt_to_print", bitmap) + + verify { + controller.setIntensity(PrintingIntensity.DARK) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printImage(bitmap) + controller.printText("receipt_to_print") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("receipt_to_print") + } } - } - it("print RawReceipt") { - val rawReceipt = RawReceipt(RawPrinterData("raw_data".toByteArray())) - printer.printReceipt(rawReceipt) + it("printReceipt") { + printer.printReceipt("raw_receipt_text", "barcode", bitmap, "signature_qr_code") + + verify { + controller.setIntensity(PrintingIntensity.DARK) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.printImage(bitmap) + controller.printText("raw_receipt_text") + controller.printQr("signature_qr_code") + controller.printBarcode("barcode") + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("raw_receipt_text") + } + } - verify { - controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) - controller.sendRawData(rawReceipt.rawData) - controller.feedPaper() - controller.start() - analytics.logPrintReceipt("raw_data") + it("print RawReceipt") { + val rawReceipt = RawReceipt(RawPrinterData("raw_data".toByteArray())) + printer.printReceipt(rawReceipt) + + verify { + controller.setIntensity(PrintingIntensity.DARK) + controller.setFontSize(PrintingFontType.DEFAULT_FONT_SIZE) + controller.sendRawData(rawReceipt.rawData) + controller.feedPaper() + controller.start() + analytics.logPrintReceipt("raw_data") + } } } From d0bcd3585b84c78a75edddc062095e46d695a142 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 7 Dec 2022 10:24:50 +0100 Subject: [PATCH 2/6] addressed PR comments --- .../java/de/tillhub/printengine/PrinterController.kt | 6 +++++- .../de/tillhub/printengine/data/PrintingIntensity.kt | 9 +++++++++ .../de/tillhub/printengine/pax/PaxPrinterController.kt | 8 +++++++- .../tillhub/printengine/sunmi/SunmiPrinterController.kt | 8 +++++++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tillhub/printengine/PrinterController.kt b/src/main/java/de/tillhub/printengine/PrinterController.kt index 234194c..77703bd 100644 --- a/src/main/java/de/tillhub/printengine/PrinterController.kt +++ b/src/main/java/de/tillhub/printengine/PrinterController.kt @@ -1,7 +1,11 @@ package de.tillhub.printengine import android.graphics.Bitmap -import de.tillhub.printengine.data.* +import de.tillhub.printengine.data.PrinterInfo +import de.tillhub.printengine.data.PrinterState +import de.tillhub.printengine.data.PrintingFontType +import de.tillhub.printengine.data.RawPrinterData +import de.tillhub.printengine.data.PrintingIntensity interface PrinterController { fun sendRawData(data: RawPrinterData) diff --git a/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt b/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt index f6f11cb..8952435 100644 --- a/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt +++ b/src/main/java/de/tillhub/printengine/data/PrintingIntensity.kt @@ -1,5 +1,14 @@ package de.tillhub.printengine.data +/** + * Defines printing intensity (darkness of the print). + * For PAX devices it is defined as: + * DEFAULT: 100% + * LIGHT: 50% + * DARK: 150% + * DARKER: 250% + * DARKEST: 500% + */ enum class PrintingIntensity { DEFAULT, LIGHT, diff --git a/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt b/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt index c73f381..77574d5 100644 --- a/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt +++ b/src/main/java/de/tillhub/printengine/pax/PaxPrinterController.kt @@ -6,7 +6,13 @@ import com.pax.dal.entity.EFontTypeAscii import com.pax.dal.entity.EFontTypeExtCode import com.pax.dal.exceptions.PrinterDevException import de.tillhub.printengine.PrinterController -import de.tillhub.printengine.data.* +import de.tillhub.printengine.data.PrinterInfo +import de.tillhub.printengine.data.PrinterState +import de.tillhub.printengine.data.PrintingFontType +import de.tillhub.printengine.data.RawPrinterData +import de.tillhub.printengine.data.PrintingPaperSpec +import de.tillhub.printengine.data.PrinterServiceVersion +import de.tillhub.printengine.data.PrintingIntensity import de.tillhub.printengine.pax.barcode.BarcodeEncoder import de.tillhub.printengine.pax.barcode.BarcodeType diff --git a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt index fba9961..7c883b4 100644 --- a/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt +++ b/src/main/java/de/tillhub/printengine/sunmi/SunmiPrinterController.kt @@ -4,7 +4,13 @@ import android.graphics.Bitmap import android.os.RemoteException import com.sunmi.peripheral.printer.SunmiPrinterService import de.tillhub.printengine.PrinterController -import de.tillhub.printengine.data.* +import de.tillhub.printengine.data.PrinterInfo +import de.tillhub.printengine.data.PrinterState +import de.tillhub.printengine.data.PrintingFontType +import de.tillhub.printengine.data.RawPrinterData +import de.tillhub.printengine.data.PrintingPaperSpec +import de.tillhub.printengine.data.PrinterServiceVersion +import de.tillhub.printengine.data.PrintingIntensity import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine From b8a0e29ca9ef7b83e9dd1736eba2f8da36e64d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90or=C4=91e=20Hrnjez?= Date: Wed, 7 Dec 2022 12:24:41 +0100 Subject: [PATCH 3/6] Proguard fix --- buildSrc/src/main/java/ConfigData.kt | 4 ++-- proguard-rules.pro | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/java/ConfigData.kt b/buildSrc/src/main/java/ConfigData.kt index 408a59e..afc420d 100644 --- a/buildSrc/src/main/java/ConfigData.kt +++ b/buildSrc/src/main/java/ConfigData.kt @@ -5,8 +5,8 @@ object ConfigData { const val applicationId = "de.tillhub.printengine" const val minSdkVersion = 21 const val targetSdkVersion = 32 - const val versionCode = 12 - const val versionName = "1.2.0" + const val versionCode = 13 + const val versionName = "1.2.1" val JAVA_VERSION = JavaVersion.VERSION_11 val JVM_TARGET = JavaVersion.VERSION_11.toString() diff --git a/proguard-rules.pro b/proguard-rules.pro index 3057bb3..988acb7 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -23,7 +23,7 @@ -keep class de.tillhub.printengine.analytics.PrintAnalytics { *; } --keep class de.tillhub.printengine.Printer { +-keep class de.tillhub.printengine.Printer.** { *; } -keep class de.tillhub.printengine.pax.barcode.BarcodeEncoder { From 2e4e220d972b7fe61afd7527bb13ccda6bd2c417 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 7 Dec 2022 13:40:22 +0100 Subject: [PATCH 4/6] test proguard fix --- proguard-rules.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/proguard-rules.pro b/proguard-rules.pro index 988acb7..eaa5fe7 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -23,9 +23,10 @@ -keep class de.tillhub.printengine.analytics.PrintAnalytics { *; } --keep class de.tillhub.printengine.Printer.** { +-keep class de.tillhub.printengine.Printer { *; } +-keep class de.tillhub.printengine.Printer$Companion -keep class de.tillhub.printengine.pax.barcode.BarcodeEncoder { *; } From 9dd1bb522b048c79c68abfd4fe6a074ed6c6cdc8 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 7 Dec 2022 13:59:36 +0100 Subject: [PATCH 5/6] potential proguard fix 2 --- proguard-rules.pro | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/proguard-rules.pro b/proguard-rules.pro index eaa5fe7..3d3f1f2 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -26,7 +26,9 @@ -keep class de.tillhub.printengine.Printer { *; } --keep class de.tillhub.printengine.Printer$Companion +-keepclassmembers class de.tillhub.printengine.Printer { + public static ** Companion; +} -keep class de.tillhub.printengine.pax.barcode.BarcodeEncoder { *; } From 01a790558659ba1c6094b30f1b664d28a9a81dec Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 7 Dec 2022 15:03:08 +0100 Subject: [PATCH 6/6] potential fix 3 --- proguard-rules.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proguard-rules.pro b/proguard-rules.pro index 3d3f1f2..41c23dc 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -26,8 +26,8 @@ -keep class de.tillhub.printengine.Printer { *; } --keepclassmembers class de.tillhub.printengine.Printer { - public static ** Companion; +-keep class de.tillhub.printengine.Printer$Companion { + *; } -keep class de.tillhub.printengine.pax.barcode.BarcodeEncoder { *;