/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠB am mell ab Ġ/ ĠJames ĠAnd reas Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense Ċ Ġ*/ Ċ Ċ @ file : Suppress (" Un necessary Variable ", Ġ" UNUSED _ VARIABLE ") Ċ Ċ package Ġcom . bam mell ab . gamepad test . ui . log Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bam mell ab . gamepad test . databinding . Fragment Log Binding Ċ import Ġcom . bam mell ab . gamepad test . gamepad . Gamepad Services ĊĊ Ċ class ĠLog Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlog ViewModel : ĠLog ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Log Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġb context : ĠContext ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġthe RecyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlog Adapter : ĠLog Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext Local : ĠContext ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Log Binding . inflate ( in flater ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġcontext Local Ġ= Ġbinding . root . context ĊĊĠĠĠĠĠĠĠ Ġlog ViewModel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewModel Provider ( this ). get ( Log ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= Ġlog ViewModel ĊĠĠĠĠĠĠĠ Ġb context Ġ= Ġbinding . root . context ĊĊĠĠĠĠĠĠĠ Ġthe RecyclerView Ġ= Ġbinding . fragment Log RecyclerView ĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( binding . root . context ) ĊĠĠĠĠĠĠĠ Ġthe RecyclerView . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġthe RecyclerView . set Has Fixed Size ( false ) ĊĊĠĠĠĠĠĠĠ Ġlog Adapter Ġ= ĠLog Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . context , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ViewModel , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠLog Adapter . Device Adapter OnClick Handler Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick () Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Recycler Ġview Ġ- ĠCard View Ġclick ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġthe RecyclerView . adapter Ġ= Ġlog Adapter ĊĊĠĠĠĠĠĠĠ Ġlog ViewModel . log Info String Array . observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring List Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbinding . clear Log List Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame pad Services . gamepad Logger Service . clear Log List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ link : Ġhttps :// developer . android . com / guide / topics / connectivity / bluetooth ? hl = en ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġupdate Device String Array () ĊĠĠĠ Ġ} ĊĊ Ċ }