FinalPrint.kt 1.27 KB
package com.printer.sdk.serial

import android.annotation.SuppressLint
import android.content.Context
import io.paperdb.Paper

@SuppressLint("StaticFieldLeak")
object FinalPrint {

    private var context: Context? = null
    private var printing: Printing? = null

    fun init(context: Context) {
        Paper.init(context)
        this.context = context
    }

    fun printer(printer: Printer): Printing = Printing(
        printer,
        context ?: error("You must call Printooth.init()")
    )

//    fun printer(printer: Printer): Printing = Printing(
//        printer,
//        context ?: error("You must call Printooth.init()")
//    )



    fun printer(): Printing {
        return if (printing == null) {
            printing = Printing(
                DefaultPrinter(),
                context ?: error("You must call Printooth.init()")
            )
            printing!!
        } else {
            printing!!
        }
    }

    fun setPrinter(name: String?, address: String) = PairedPrinter.setPairedPrinter(PairedPrinter(name, address))
//
    fun getPairedPrinter(): PairedPrinter? = PairedPrinter.getPairedPrinter()
//
    fun hasPairedPrinter(): Boolean = PairedPrinter.getPairedPrinter() != null
//
    fun removeCurrentPrinter() = PairedPrinter.removePairedPrinter()

}