package Ġcom . tech now ave group . opt ical scanner Ċ Ċ import Ġandroid . bluetooth . Bluetooth Device Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . tech now ave group . network lib . Network Util Ċ import Ġcom . tech now ave group . printer lib . BT Util Ċ import Ġcom . tech now ave group . printer lib . Print Status Listener Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠPrint Status Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbt Util : ĠBT Util ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġbt Util Ġ= ĠBT Util ( this , Ġthis ) ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . button Connect ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt Util . connect BT Device () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . button Choose ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt Util . choose BT Device Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . button Print ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ"^ XA \ n ^ FO 5 0 , 1 6 0 ^ AD N , 3 6 , 2 0 ^ FD " Ġ+ Ġ" lin oop ll ll ll ll ll l " Ġ+ Ġ"\ n ^ FS \ n ^ XZ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt Util . print ( text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . button Disconnect ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt Util . disconnect BT Device () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Internet () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnetwork Util Ġ= ĠNetwork Util ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( network Util . has Internet Connection ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Internet Ġavailable ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Internet Ġnot Ġavailable ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠRESULT _ OK Ġ&& Ġrequest Code Ġ== ĠBT Util . BT _ ENABLE _ REQUEST _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" BT Ġenabled ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt Util Ġ= ĠBT Util ( this , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" BT Ġnot Ġenabled ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" MainActivity " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Device Connected ( ĊĠĠĠĠĠĠĠ Ġis Connected : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġstatus Message : ĠString ?, ĊĠĠĠĠĠĠĠ Ġbluetooth Device : ĠBluetooth Device ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġstatus Message , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Print Complete ( is Print ed : ĠBoolean , Ġprint Status : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġprint Status , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Device Disconnected ( is Disconnected : ĠBoolean , Ġstatus Message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġstatus Message , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Device Error ( errorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠerrorMessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} Ċ }