/* Ċ Ġ* ĠCopyright Ġ( c ) ĠKon ink lij ke ĠPhil ips ĠN . V . Ġ 2 0 2 1 . Ċ Ġ* ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . phil ips . ble client . ui Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . phil ips . ble client . R Ċ import Ġcom . phil ips . ble client . Service Handler Manager Ċ import Ġcom . w el ie . bles sed . Bluetooth Per ipheral Ċ Ċ class ĠPer ipheral Info Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġperipheral : ĠBluetooth Per ipheral ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ device _ info ) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Address Ġ= Ġintent . getString Extra (" DEVICE _ ADDRESS ") ĊĠĠĠĠĠĠĠ Ġvar Ġtitle Ġ= Ġ" No Ġperipheral Ġ'$ device Address ' Ġfound " ĊĠĠĠĠĠĠĠ Ġdevice Address ?. let Ġ{ Ġaddr Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperipheral Ġ= ĠService Handler Manager . getInstance ( this ). get Connected Per ipheral ( addr ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperipheral ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Per ipheral ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"${ it . name } Ġinformation " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . title Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo Back () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgo Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . slide _ from _ left , ĠR . anim . slide _ to _ right ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Per ipheral ( per iph : ĠBluetooth Per ipheral ) Ġ{ ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . per ipheral Mac Address ). text Ġ= Ġ" MAC Ġaddress : Ġ${ per iph . address }" ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . service UUID s ). text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġper iph . services . fold (" Service ĠUUID s :\ n ", Ġ{ Ġacc , Ġservice Ġ-> Ġ"$ acc Ġ${ service . uuid }\ n " Ġ}) ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . char UUID s ). text Ġ= Ġper iph . notify ing Character istics . fold ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Notify ing Ġchar ĠUUID s :\ n ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġacc , Ġchar Ġ-> Ġ"$ acc Ġ${ char . uuid }\ n " Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UNUSED _ PARAMETER ") ĊĠĠĠ Ġfun Ġdisconnect Per ipheral ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġperipheral ?. cancel Connection () ĊĠĠĠĠĠĠĠ Ġgo Back () ĊĠĠĠ Ġ} Ċ Ċ }