Poynt Print Service Error Message

Poynt device shows the following error dialog when ever a receipt is printed

But the Receipt is Printed

And this is the error that shown in adb log

03-01 06:11:09.499 1354-16030/? I/FTP628MCL101-Native: printerdbg: print_wakeup via gpio pulse 60 ms
03-01 06:11:09.500 1354-16030/? D/FTP628MCL101: printerdbg: ----------sleep(100) from doPrinterGetStatusReport ---- 
03-01 06:11:09.500 1354-15609/? D/FTP628MCL101: Initializing Printer in the background
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime: FATAL EXCEPTION: main
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime: Process: co.poynt.services, PID: 13329
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime: java.lang.NullPointerException
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at co.poynt.services.ReceiptPrintingService$1$2.run(ReceiptPrintingService.java:272)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:733)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:95)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:136)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5001)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:515)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
03-01 06:11:09.557 13329-13329/? E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
03-01 06:11:09.639 921-933/? I/ActivityManager: Killing 32184:co.poynt.accessory/u0a30 (adj 15): empty for 2412s
03-01 06:11:09.676 1354-16659/? D/SecondScreenAccess:  onProcessDied: pid:32184 uid:10030
03-01 06:11:09.810 1354-16030/? I/FTP628MCL101-Native: printerdbg: status PRE-CHECK
03-01 06:11:09.812 1354-16030/? I/FTP628MCL101-Native: printerdbg: status PRE ..TIMEOUT occured
03-01 06:11:09.817 1354-13015/? D/SerialStateTracker: printerdbg     ___ hijacked status code 100000a5
03-01 06:11:10.038 205-18208/? I/NvAudioPolicyManager: resume_power_hint: Start to adjust cpu max frequency
03-01 06:11:11.826 1354-16030/? I/FTP628MCL101-Native: printerdbg: printer status ..TIMEOUT occured
03-01 06:11:11.827 1354-16030/? D/FTP628MCL101: printerdbg: --- GetStatus = 99
03-01 06:11:11.828 1354-16030/? E/IPrinterService: hasEnoughBatteryForPrint check
03-01 06:11:11.841 1354-16030/? D/FTP628MCL101: printerdbg: ---autospeed result 100 prev -1 fastlow 80 cutoff 65 AcChg true UsbChg false
03-01 06:11:11.902 1354-16030/? I/FTP628MCL101-Native: printerdbg: print_wakeup via gpio pulse 60 ms
03-01 06:11:11.902 1354-16030/? I/FTP628MCL101-Native: printerdbg: printer_tx_cmd ... defaultspeedmod ok 3
03-01 06:11:12.103 1354-16030/? I/FTP628MCL101-Native: printerdbg: printer_tx_cmd ... lowercurrent32_64 ok 4
03-01 06:11:12.303 1354-16030/? I/FTP628MCL101-Native: printerdbg: printer_tx_cmd ... automaticdivision ok 3
03-01 06:11:12.504 1354-16030/? I/FTP628MCL101-Native: printerdbg: printer_tx_cmd ... energyunitset ok 3
03-01 06:11:12.704 1354-16030/? I/FTP628MCL101-Native: printerdbg: set_speed_division_mode...OKed autodiv 0  dots 64 energyunit 75
03-01 06:11:12.766 1354-16030/? D/FTP628MCL101: printerdbg:  receipt bitmap  /data/data/co.poynt.device.manager/cache/receipt_preview_0.png
03-01 06:11:12.766 1354-16030/? D/FTP628MCL101: printerdbg . before doImagePrint()
03-01 06:11:12.767 1354-16030/? D/FTP628MCL101: printerdbg: starting background serial state tracker..._____________
03-01 06:11:12.768 1354-16030/? D/FclGenerator: created
03-01 06:11:12.768 1354-16030/? D/FclGenerator: start
03-01 06:11:12.768 1354-16030/? D/FclGenerator: * printerdbg * 0 page 1
03-01 06:11:12.770 1354-18347/? D/SerialStateTracker: printerdbg    ________serial tracker enter____ 
03-01 06:11:12.788 1354-1359/? D/dalvikvm: GC_CONCURRENT freed 933K, 30% free 3093K/4400K, paused 3ms+2ms, total 17ms
03-01 06:11:12.791 1354-16030/? D/FclGenerator: printBitImage
03-01 06:11:12.791 1354-16030/? I/FTP628MCL101-Native: NATIVE OptimizeBuffer CALLED
03-01 06:11:12.792 1354-16030/? D/FclGenerator: printerdbg: printBitImage() 3 bytes
03-01 06:11:12.792 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite 3 bytes starting 0[0]=27
03-01 06:11:12.793 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite -------------------done 
03-01 06:11:12.793 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite 1 bytes starting 0[0]=10
03-01 06:11:12.794 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite -------------------done 
03-01 06:11:12.794 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite 1 bytes starting 0[0]=18
03-01 06:11:12.795 1354-16030/? D/FclGenerator: printerdbg:    >>>> fwrite -------------------done 
03-01 06:11:12.795 1354-16030/? D/FclGenerator: * printerdbg * 0 page 0
03-01 06:11:12.795 1354-16030/? D/FTP628MCL101: printerdbg . after doImagePrint()
03-01 06:11:12.796 1354-16030/? D/FTP628MCL101: printerdbg: stopping SerialStateTracker_____________
03-01 06:11:12.796 1354-16030/? D/FTP628MCL101: Printer driver returned true
03-01 06:11:12.796 1354-16030/? D/IPrinterService:  PrintImageTask job completed 
03-01 06:11:12.798 1354-1354/? W/System.err: java.lang.NullPointerException
03-01 06:11:12.799 1354-1354/? W/System.err:     at android.os.Parcel.readException(Parcel.java:1471)
03-01 06:11:12.799 1354-1354/? W/System.err:     at android.os.Parcel.readException(Parcel.java:1419)
03-01 06:11:12.800 1354-1354/? W/System.err:     at co.poynt.device.manager.service.IPrinterServiceListener$Stub$Proxy.onPrintSuccess(IPrinterServiceListener.java:98)
03-01 06:11:12.801 1354-1354/? W/System.err:     at co.poynt.device.manager.service.PrinterServiceImpl$PrintImageTask.onPostExecute(PrinterServiceImpl.java:185)
03-01 06:11:12.801 1354-1354/? W/System.err:     at co.poynt.device.manager.service.PrinterServiceImpl$PrintImageTask.onPostExecute(PrinterServiceImpl.java:97)
03-01 06:11:12.802 1354-1354/? W/System.err:     at android.os.AsyncTask.finish(AsyncTask.java:632)
03-01 06:11:12.802 1354-1354/? W/System.err:     at android.os.AsyncTask.access$600(AsyncTask.java:177)
03-01 06:11:12.803 1354-1354/? W/System.err:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
03-01 06:11:12.803 1354-1354/? W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
03-01 06:11:12.803 1354-1354/? W/System.err:     at android.os.Looper.loop(Looper.java:136)
03-01 06:11:12.804 1354-1354/? W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5001)
03-01 06:11:12.804 1354-1354/? W/System.err:     at java.lang.reflect.Method.invokeNative(Native Method)
03-01 06:11:12.805 1354-1354/? W/System.err:     at java.lang.reflect.Method.invoke(Method.java:515)
03-01 06:11:12.805 1354-1354/? W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
03-01 06:11:12.806 1354-1354/? W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
03-01 06:11:12.806 1354-1354/? W/System.err:     at dalvik.system.NativeStart.main(Native Method)

This is the printing code


  PrintedReceipt pr = new PrintedReceipt(Parcel.obtain());
                PrintedReceiptLine prl1 = new PrintedReceiptLine();
                PrintedReceiptLine prl2 = new PrintedReceiptLine();

                Receipt receipt = new Receipt();
                prl1.setText("Header");
                prl2.setText("-------------------------------");

                List<PrintedReceiptLine> printedReceiptLinesHead = new ArrayList<>();
                printedReceiptLinesHead.add(prl1);
                printedReceiptLinesHead.add(prl2);
 
                pr.setHeader(printedReceiptLinesHead);

                try {
                    receiptPrintingService.printReceipt(jobId, pr, receiptPrintingServiceListener);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
      

Any Help on this matter would be highly appreciated .

Hi there,

can you give me the last 4 digits of your terminal serial #?
And can you post the rest of the code for your Activity or you can send me a private message?

1 Like

Sorted it out, the Error message was because I didn’t handle the print listener call back properly.

Thanks @dennis for the concern.

1 Like

If possible, share you code so we can avoid similar mistakes.

1 Like

@oximer There you go

     
     private String jobId = UUID.randomUUID().toString();
     PrintedReceipt printedReceipt = new PrintedReceipt(Parcel.obtain());

     List<PrintedReceiptLine> printedReceiptLinesHeader = new ArrayList<>();

     PrintedReceiptLine printedReceiptLine = new PrintedReceiptLine();
     printedReceiptLine.setText(String.format("%-31.31s", "Header Text"));
     printedReceiptLinesHeader.add(printedReceiptLine);
        
     printedReceipt.setHeader(printedReceiptLinesHeader);
      try {
                receiptPrintingService.printReceipt(jobId, printedReceipt, new IPoyntReceiptPrintingServiceListener.Stub() {
                    @Override
                    public void printQueued() throws RemoteException {
                        Snackbar.make(view, "PRINTING RECEIPT... PLEASE WAIT ", Snackbar.LENGTH_LONG).show();
                    }

                    @Override
                    public void printFailed() throws RemoteException {
                        Snackbar.make(view, "RECEIPT PRINTING FAILED,PLEASE CHECK IF PAPER HAS EXHAUSTED ", Snackbar.LENGTH_LONG).show();
                    }
                });
            } catch (Exception e) {
            }

     

2 Likes