From 030c313369282c56297fe8ec76bd9efefdbdc1c0 Mon Sep 17 00:00:00 2001 From: mpmedia Date: Wed, 27 May 2026 12:21:50 -0500 Subject: [PATCH] fix: decode base64-encoded file content --- .../serialport/utils/SerialPortAppUtils.java | 118 +++++++++++------- 1 file changed, 72 insertions(+), 46 deletions(-) diff --git a/serialport/src/main/java/android/serialport/utils/SerialPortAppUtils.java b/serialport/src/main/java/android/serialport/utils/SerialPortAppUtils.java index 08b2bd0..5e30461 100644 --- a/serialport/src/main/java/android/serialport/utils/SerialPortAppUtils.java +++ b/serialport/src/main/java/android/serialport/utils/SerialPortAppUtils.java @@ -1,46 +1,72 @@ -cGFja2FnZSBhbmRyb2lkLnNlcmlhbHBvcnQudXRpbHM7CgoKaW1wb3J0IGFuZHJvaWQub3MuRW52 -aXJvbm1lbnQ7CmltcG9ydCBhbmRyb2lkLnRleHQuVGV4dFV0aWxzOwppbXBvcnQgYW5kcm9pZC51 -dGlsLkxvZzsKCmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOwppbXBvcnQgamF2YS5pby5G -aWxlOwppbXBvcnQgamF2YS5pby5GaWxlV3JpdGVyOwoKcHVibGljIGNsYXNzIFNlcmlhbFBvcnRB -cHBVdGlscyB7CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyAgU0VSSUFMX1BPUlRfRElSRUNUT1JZ -X1BSSU5URVIgPSAiUHJpbnRlciI7CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyAgU0VSSUFMX1BP -UlRfRElSRUNUT1JZX0lNQUdFID0gIkltYWdlIjsKICAgIHByaXZhdGUgZmluYWwgU3RyaW5nICBT -RVJJQUxfUE9SVF9GSUxFX0xPR19XSVRIX0VYVEVOU0lPTiA9ICJsb2dzLnR4dCI7CgogICAgcHJp -dmF0ZSBTdHJpbmcgaW1hZ2VQcmludFBhdGggPSAoRW52aXJvbm1lbnQuZ2V0RXh0ZXJuYWxTdG9y -YWdlRGlyZWN0b3J5KCkKICAgICAgICAgICAgLnRvU3RyaW5nKCkgKyBGaWxlLnNlcGFyYXRvcgog -ICAgICAgICAgICArIEVudmlyb25tZW50LkRJUkVDVE9SWV9EQ0lNCiAgICAgICAgICAgICsgRmls -ZS5zZXBhcmF0b3IKICAgICAgICAgICAgKyBTRVJJQUxfUE9SVF9ESVJFQ1RPUllfUFJJTlRFUgog -ICAgICAgICAgICArIEZpbGUuc2VwYXJhdG9yCiAgICAgICAgICAgICsgU0VSSUFMX1BPUlRfRElS -RUNUT1JZX0lNQUdFCiAgICAgICAgICAgICsgRmlsZS5zZXBhcmF0b3IKICAgICAgICAgICAgKTsK -cHJpdmF0ZSBTdHJpbmcgZmlsZU5hbWUgPSBTRVJJQUxfUE9SVF9GSUxFX0xPR19XSVRIX0VYVEVO -U0lPTjsKICAgIHByaXZhdGUgc3RhdGljIFNlcmlhbFBvcnRBcHBVdGlscyBtU2VyaWFsUG9ydEFw -cFV0aWxzOwoKICAgIHB1YmxpYyBzdGF0aWMgU2VyaWFsUG9ydEFwcFV0aWxzIGdldEluc3RhbmNl -KCkgewogICAgICAgIGlmIChtU2VyaWFsUG9ydEFwcFV0aWxzID09IG51bGwpIHsKICAgICAgICAg -ICAgbVNlcmlhbFBvcnRBcHBVdGlscyA9IG5ldyBTZXJpYWxQb3J0QXBwVXRpbHMoKTsKICAgICAg -ICB9CiAgICAgICAgcmV0dXJuIG1TZXJpYWxQb3J0QXBwVXRpbHM7CiAgICB9CiAgICBwdWJsaWMg -dm9pZCBhcHBlbmRMb2coU3RyaW5nIHRleHQpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBp -ZiAoaW1hZ2VQcmludFBhdGggIT0gbnVsbCkgewogICAgICAgICAgICAgICAgRmlsZSBsb2dGaWxl -ID0gbmV3IEZpbGUoaW1hZ2VQcmludFBhdGgpOwogICAgICAgICAgICAgICAgU3RyaW5nIGZ1bGxQ -YXRoID0gRmlsZS5zZXBhcmF0b3IrZmlsZU5hbWU7CiAgICAgICAgICAgICAgICBGaWxlIGxvZ0Zp -bGVUeHQgPSBuZXcgRmlsZShpbWFnZVByaW50UGF0aCwgIGZ1bGxQYXRoKTsKICAgICAgICAgICAg -ICAgIGlmICghbG9nRmlsZS5leGlzdHMoKSkgewogICAgICAgICAgICAgICAgICAgIGxvZ0ZpbGUu -bWtkaXJzKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoIWxvZ0ZpbGVU -eHQuZXhpc3RzKCkpIHsKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAg -ICAgICAgICBsb2dGaWxlVHh0LmNyZWF0ZU5ld0ZpbGUoKTsKICAgICAgICAgICAgICAgICAgICB9 -IGNhdGNoIChFeGNlcHRpb24gZSkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPIEF1 -dG8tZ2VuZXJhdGVkIGNhdGNoIGJsb2NrCiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJpbnRT -dGFja1RyYWNlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgLy8gTG9nLmQoIlRFU1RfTE9HIiwg -IkxvZyBXcml0bmcgZXJyOiIrZS5nZXRNZXNzYWdlKCkpOwoKICAgICAgICAgICAgICAgICAgICB9 -CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAg -ICAgIGlmKGxvZ0ZpbGVUeHQhPW51bGwgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vQnVm -ZmVyZWRXcml0ZXIgZm9yIHBlcmZvcm1hbmNlLCB0cnVlIHRvIHNldCBhcHBlbmQgdG8gZmlsZSBm -bGFnCiAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcmVkV3JpdGVyIGJ1ZiA9IG5ldyBCdWZm -ZXJlZFdyaXRlcihuZXcgRmlsZVdyaXRlcihsb2dGaWxlVHh0LCB0cnVlKSk7CiAgICAgICAgICAg -ICAgICAgICAgICAgIGJ1Zi5hcHBlbmQodGV4dCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJ1 -Zi5uZXdMaW5lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zi5jbG9zZSgpOwogICAgICAg -ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAg -ICAgICAgICAgICAgICAgICAgLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBjYXRjaCBibG9jawogICAg -ICAgICAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CiAgICAgICAgICAgICAgICAgICAv -LyBMb2cuZCgiVEVTVF9MT0ciLCAiTG9nIFdyaXRuZyBlcnI6IitlLmdldE1lc3NhZ2UoKSk7CiAg -ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24g -ZSkgewogICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOwogICAgICAgIH0KICAgIH0KfQo= \ No newline at end of file +package android.serialport.utils; + + +import android.os.Environment; +import android.text.TextUtils; +import android.util.Log; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; + +public class SerialPortAppUtils { + private final String SERIAL_PORT_DIRECTORY_PRINTER = "Printer"; + private final String SERIAL_PORT_DIRECTORY_IMAGE = "Image"; + private final String SERIAL_PORT_FILE_LOG_WITH_EXTENSION = "logs.txt"; + + private String imagePrintPath = (Environment.getExternalStorageDirectory() + .toString() + File.separator + + Environment.DIRECTORY_DCIM + + File.separator + + SERIAL_PORT_DIRECTORY_PRINTER + + File.separator + + SERIAL_PORT_DIRECTORY_IMAGE + + File.separator + ); +private String fileName = SERIAL_PORT_FILE_LOG_WITH_EXTENSION; + private static SerialPortAppUtils mSerialPortAppUtils; + + public static SerialPortAppUtils getInstance() { + if (mSerialPortAppUtils == null) { + mSerialPortAppUtils = new SerialPortAppUtils(); + } + return mSerialPortAppUtils; + } + public void appendLog(String text) { + try { + if (imagePrintPath != null) { + File logFile = new File(imagePrintPath); + String fullPath = File.separator+fileName; + File logFileTxt = new File(imagePrintPath, fullPath); + if (!logFile.exists()) { + logFile.mkdirs(); + } + if (!logFileTxt.exists()) { + try { + logFileTxt.createNewFile(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + // Log.d("TEST_LOG", "Log Writng err:"+e.getMessage()); + + } + } + try { + if(logFileTxt!=null ) { + //BufferedWriter for performance, true to set append to file flag + BufferedWriter buf = new BufferedWriter(new FileWriter(logFileTxt, true)); + buf.append(text); + buf.newLine(); + buf.close(); + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + // Log.d("TEST_LOG", "Log Writng err:"+e.getMessage()); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } +}