package com.android.bluetooth.print;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.SystemProperties;
import android.text.TextUtils;
import android.widget.Toast;
import android.util.Log;
import java.util.ArrayList;
import java.util.UUID;
import com.pos.sdk.printer.PosPrinter;
import com.pos.sdk.printer.POIPrinterManager;
import com.pos.sdk.printer.PosPrinterInfo;
import com.pos.sdk.printer.models.BitmapPrintLine;
import com.pos.sdk.printer.models.PrintLine;
import com.pos.sdk.printer.models.TextPrintLine;
import static com.android.bluetooth.print.BtPosPrintService.bytesToHexString;
public class PosPrintUtil {
private static final String TAG="PosPrintUtil";
private static PrinterAttributes attributes;
public final static int TYPE_CONTENT = 1;
public final static int TYPE_COMMAND = 2;
public static final byte GS = 29;
public static final byte CR = 13;
public static Bitmap bitmap;
public static byte[] buffer1 = new byte[50000];
public static final boolean PRINTER_SUPPORT = SystemProperties.getInt("ro.bluetooth.printer.support",0)==1;
public static final String PRINTER_ADDRESS = SystemProperties.get("ro.bluetooth.printer.address","11:22:33:44:55:66");
public static final String PRINTER_SOCKET = SystemProperties.get("ro.bluetooth.printer.socket","com.android.local.bluetoothprinter");
public static final String PRINTER_NAME = SystemProperties.get("ro.bluetooth.printer.name","BluetoothPrinter");
public static final UUID PRINTER_UUID = UUID.fromString(SystemProperties.get("ro.bluetooth.printer.uuid","00001101-0000-1000-8000-00805F9B34FB"));
private POIPrinterManager printerManager;
private PosPrinter posPrinter;
private PrinterListener printer_callback = new PrinterListener();
private Context mContext;
private Integer mLineSpace = Integer.valueOf(2);
private int mPosition = PrintLine.CENTER;
public PosPrintUtil(Context context){
this.mContext = context;
}
class PrinterListener implements POIPrinterManager.IPrinterListener {
@Override
public void onStart() {
Log.d(TAG, "start print");
}
@Override
public void onFinish() {
Log.d(TAG, "pint success");
}
@Override
public void onError(int errorCode, String detail) {
}
}
private void initPrint(){
Log.d(TAG, "initPrint");
printerManager = new POIPrinterManager(mContext);
}
private void openPrint(){
Log.d(TAG, "openPrint");
printerManager.open();
}
private void closePrint(){
Log.d(TAG, "closePrint");
printerManager.close();
}
private void onPrintStart(){