package Ġorg . f ry tk i . bluetooth 0 Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . bluetooth . Bluetooth Adapter Ċ import Ġandroid . bluetooth . Bluetooth Socket Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ ster owanie .* Ċ import Ġjava . io . IOException Ċ import Ġjava . util .* Ċ Ċ class ĠS ter owanie Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġaddress : ĠString ĊĠĠĠ Ġinternal Ġvar Ġmy Bluetooth : ĠBluetooth Adapter ? Ġ= Ġnull ĊĠĠĠ Ġinternal Ġvar Ġbt Socket : ĠBluetooth Socket ? Ġ= Ġnull ĊĠĠĠ Ġinternal Ġvar Ġis Bt Connected Ġ= Ġfalse ĊĠĠĠ Ġinternal Ġval Ġmy UUID Ġ= ĠUUID . fromString (" 0 0 0 0 1 1 0 1 - 0 0 0 0 - 1 0 0 0 - 8 0 0 0 - 0 0 8 0 5 F 9 B 3 4 FB ") ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ ster owanie ) ĊĊĠĠĠĠĠĠĠ ĠtextView 3 . text Ġ= Ġ" l Äħd owanie , Ġp oc ze k aj Ġm om enc ik " ĊĠĠĠĠĠĠĠ Ġaddress Ġ= Ġintent . getString Extra ( Intent . EXTRA _ TEXT ) ĊĠĠĠĠĠĠĠ ĠConnect BT (). execute () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġow ys lij 0 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 1 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 2 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 2 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 3 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 3 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 4 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 4 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 5 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 5 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } jest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġow ys lij 6 ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġval Ġwi ad om osc : ĠString Ġ= Ġ" 6 " ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. get OutputStream (). write ( wi ad om osc . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" W ys ÅĤ ano ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġwi ad om osc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" K up a ", Ġ""" bt Socket Ġw Ġ${ wi ad om osc } Ġjest Ġ' null ' """) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġroz l acz ( v : ĠView ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġ// If Ġthe Ġbt Socket Ġis Ġbusy ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. close () Ġ// close Ġconnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" ro zl acz ", Ġ" ud alo Ġsie Ġroz lac zy c Ġbluetooth ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Error ", Ġ" nie Ġ uda ÅĤo Ġsie Ġz am kn ac Ġbt Socket ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĠLog . i (" ro zl acz ", Ġ" bt Socket Ġnie Ġby ÅĤ Ġw gl Ġpo ÅĤ Äħ cz ony ") ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ ster owanie , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt Ġ= Ġitem . itemId ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( id Ġ== ĠR . id . action _ settings ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠConnect BT Ġ: ĠAsync Task < Void , ĠVoid , ĠVoid > Ġ Ġ// ĠUI Ġthread ĊĠĠĠ Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠConnect Success Ġ= Ġtrue Ġ// if Ġit 's Ġhere , Ġit 's Ġalmost Ġconnected ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġprogress Ġ= ĠProgress Dialog . show ( this @ MainActivity , Ġ" Connecting ...", Ġ" Please Ġwait !! !") Ġ Ġ// show Ġa Ġprogress Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar 3 . visibility Ġ= ĠProgress Bar . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . set Flags ( WindowManager . LayoutParams . FLAG _ NOT _ TO UCH ABLE , ĠWindow Manager . LayoutParams . FLAG _ NOT _ TO UCH ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView 3 . visibility Ġ= ĠTextView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġdevices : ĠVoid ) Ġ// while Ġthe Ġprogress Ġdialog Ġis Ġshown , Ġthe Ġconnection Ġis Ġdone Ġin Ġbackground ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠVoid ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bt Socket Ġ== Ġnull Ġ|| Ġ! is Bt Connected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy Bluetooth Ġ= ĠBluetooth Adapter . getDefault Adapter () // get Ġthe Ġmobile Ġbluetooth Ġdevice ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdispositivo Ġ= Ġmy Bluetooth !!. get Remote Device ( address )// connect s Ġto Ġthe Ġdevice 's Ġaddress Ġand Ġchecks Ġif Ġit 's Ġavailable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket Ġ= Ġdispositivo . create In secure Rf comm Socket To Service Record ( my UUID )// create Ġa ĠRF COMM Ġ( SP P ) Ġconnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBluetooth Adapter . getDefault Adapter (). cancel Discovery () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt Socket !!. connect () // start Ġconnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConnect Success Ġ= Ġfalse // if Ġthe Ġtry Ġfailed , Ġyou Ġcan Ġcheck Ġthe Ġexception Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠVoid ?) Ġ// after Ġthe Ġdo In Background , Ġit Ġchecks Ġif Ġeverything Ġwent Ġfine ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Connect Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" co ÅĽ Ġnie Ġpy k ÅĤo ,\ n mo Å¼ e Ġju Å¼ Ġjest Ġpo ÅĤÄħc zone ?", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" Po ÅĤÄħc zon o ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Bt Connected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// progress . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar 3 . visibility Ġ= ĠProgress Bar . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . clear Flags ( WindowManager . LayoutParams . FLAG _ NOT _ TO UCH ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView 3 . visibility Ġ= ĠTextView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ