package Ġorg . md . pe gp ixel . bluetooth Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . bluetooth . Bluetooth Socket Ċ import Ġjava . io . IOException Ċ Ċ interface ĠBluetooth Connection To Board Ġ{ ĊĠĠĠ Ġfun Ġsend Data ( data : ĠString , Ġhandle Connection Error : Ġ( String ) Ġ-> ĠUnit ) ĊĠĠĠ Ġfun Ġclose () Ċ } Ċ Ċ class ĠEst ab lished Bluetooth Connection To Board ( private Ġval Ġbluetooth Socket : ĠBluetooth Socket ) Ġ: ĠBluetooth Connection To Board Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsend Data ( data : ĠString , Ġhandle Connection Error : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i (" ST UFF ", Ġ" sending Ġvia Ġbt : Ġ$ data ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwriteTo Stream ( data ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ST UFF ", Ġ" Could Ġnot Ġsend Ġdata Ġvia ĠBT : Ġ$ data ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Connection Error (" Could Ġnot Ġsend Ġdata ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠwriteTo Stream ( data : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbluetooth Socket . output Stream . write ( data . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġbluetooth Socket . output Stream . flush () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbluetooth Socket . close () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPending Bluetooth Connection To Board ( private Ġval Ġbluetooth Device Name : ĠString ) Ġ: ĠBluetooth Connection To Board Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsend Data ( data : ĠString , Ġhandle Connection Error : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i (" ST UFF ", Ġ" NOT Ġsent Ġvia Ġbt Ġ( no Ġconnection ) Ġ: Ġ$ data ") ĊĠĠĠĠĠĠĠ Ġhandle Connection Error (" Bluetooth ĠDevice Ġ'$ bluetooth Device Name ' Ġis Ġnot Ġconnected ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġno ĠConnection , Ġso Ġnothing Ġto Ġclose ĊĠĠĠ Ġ} Ċ } Ċ