package Ġteam 1 6 . easy tracker Ċ Ċ import Ġandroid . bluetooth . Bluetooth Adapter Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . recyclerview . widget .* Ċ import Ġteam 1 6 . easy tracker . database . Db Helper Ċ import Ġteam 1 6 . easy tracker . utils . Bluetooth Device RecyclerView Adapter Ċ Ċ /** Ċ Ġ* ĠA Ġfragment Ġrepresenting Ġa Ġlist Ġof ĠBluetooth Devices . Ċ Ġ*/ Ċ class ĠBluetooth Devices Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcolumn Count Ġ= Ġ 1 ĊĊĠĠĠ Ġlateinit Ġvar Ġbtn Bluetooth Settings : ĠButton ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview BT Ġ: ĠView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Count Ġ= Ġit . getInt ( ARG _ COLUMN _ COUNT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ bluetooth _ devices _ list , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġbtn Bluetooth Settings Ġ= Ġview . findViewById ( R . id . btn Add Bluetooth Device ) ĊĠĠĠĠĠĠĠ Ġbtn Bluetooth Settings . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fl Fragment , ĠBluetooth Fragment (), Ġ" Bluetooth Fragment ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview BT Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġset Adapter () ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreload (){ ĊĠĠĠĠĠĠĠ Ġset Adapter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Adapter (){ ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġrv Bluetooth Devices Ġ= Ġview BT . findViewById < RecyclerView >( R . id . rv Bluetooth Devices List ) ĊĠĠĠĠĠĠĠ Ġif Ġ( rv Bluetooth Devices Ġis ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( rv Bluetooth Devices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Count Ġ<= Ġ 1 Ġ-> ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠGrid LayoutManager ( context , Ġcolumn Count ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġworker Devices Ġ= ĠDb Helper . getInstance (). load Bluetooth Devices For Worker ( My Application . logged In Worker !!. getId ()). to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbluetooth Adapter Ġ= ĠBluetooth Adapter . getDefault Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( device Ġin Ġworker Devices ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! bluetooth Adapter . bon ded Devices . any Ġ{ Ġit . address Ġ== Ġdevice . mac Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDb Helper . getInstance (). delete Bluetooth Device Of Worker ( device . mac , ĠMy Application . logged In Worker !!. getId ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker Devices Ġ= ĠDb Helper . getInstance (). load Bluetooth Devices For Worker ( My Application . logged In Worker !!. getId ()). to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠBluetooth Device RecyclerView Adapter ( worker Devices , Ġthis @ Bluetooth Devices Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġm RecyclerView Ġ= Ġview BT . findViewById ( R . id . rv Bluetooth Devices List ) Ġas ĠRecyclerView ĊĠĠĠĠĠĠĠ Ġm RecyclerView . addItem Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider Item Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider Item Decoration . VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġm RecyclerView . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġvar Ġm LayoutManager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġm RecyclerView . setLayout Manager ( m LayoutManager ) ĊĠĠĠĠĠĠĠ Ġm RecyclerView . setItem Animator ( Default Item Animator ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠARG _ COLUMN _ COUNT Ġ= Ġ" column - count " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( column Count : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBluetooth Devices Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ COLUMN _ COUNT , Ġcolumn Count ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }