if (dbPrinterList.size() > 0) { for (int i = 0; i < dbPrinterList.size(); i++) { printerFound = false; kitchenViewWidth = -1; printer = null; for (int j = 0; j < cloverPrinterList.size(); j++) { if (dbPrinterList.get(i).getPrinterUUID().equals(cloverPrinterList.get(j).getUuid())) { printerFound = true; printer = cloverPrinterList.get(j); kitchenViewWidth = printer.type.numDotsWidth; Toast.makeText(context, "Printer Name : " + printer.getName(), Toast.LENGTH_SHORT).show(); Log.d("UploadInventoryPage", "Printer Name : " + printer.getName()); } } if (printerFound) { if (kitchenViewWidth == 0) { if (printer != null) { PrintJob printJob = new TextPrintJob.Builder().text(message).build(); new PrintJobsConnector(context).print(printer, printJob); } } else { new Handler().post(new Runnable() { @Override public void run() { try { int measuredWidth = View.MeasureSpec.makeMeasureSpec(kitchenViewWidth, View.MeasureSpec.EXACTLY); int measuredHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); kitchenReceiptLayout.measure(measuredWidth, measuredHeight); kitchenReceiptLayout.layout(0, 0, kitchenReceiptLayout.getMeasuredWidth(), kitchenReceiptLayout.getMeasuredHeight()); kitchenReceiptLayout.requestLayout(); new AsyncTask() { @Override protected Void doInBackground(Void... voids) { if (printer != null) { ViewPrintJob.Builder builder = new ViewPrintJob.Builder().view(kitchenReceiptLayout); ViewPrintJob printJob = builder.build(); printJob.print(context, CloverAccount.getAccount(context), printer); } return null; } }.execute(); } catch (final Exception e) { e.printStackTrace(); } } }); } } } }