package Ġcom . raw a . re cycl ers w ip es . sample . ui . home Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . raw a . re cycl ers w ip es . Recycler Sw ip es Ċ import Ġcom . raw a . re cycl ers w ip es . Swipe Direction Ċ import Ġcom . raw a . re cycl ers w ip es . attach To Ċ import Ġcom . raw a . re cycl ers w ip es . sample . R Ċ import Ġcom . raw a . re cycl ers w ip es . sample . ui . home . adapter . Home Adapter Ċ Ċ class ĠHome Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhome ViewModel : ĠHome ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠHome Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ home , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠRecyclerView Ġ= Ġroot . findViewById ( R . id . rv _ home _ items ) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠHome Adapter () ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġhome ViewModel . text . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġsw ip es Ġ= ĠRe cycler Sw ip es ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSw ipe Direction . LEFT Ġto ĠR . layout . swipe _ left _ block , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSw ipe Direction . RIGHT Ġto ĠR . layout . swipe _ right _ delete ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsw ip es . attach To ( re cyclerView ) ĊĠĠĠĠĠĠĠ Ġsw ip es . setOn Swipe Listener Ġ{ Ġv H : ĠRecyclerView . ViewHolder , Ġdir : ĠSw ipe Direction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( dir ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSw ipe Direction . LEFT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġadapter . getItem Id ( v H . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Word Ġblocked ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . delete Word ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSw ipe Direction . RIGHT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġadapter . getItem Id ( v H . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Word Ġdeleted ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . delete Word ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException ("$ dir Ġis Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} Ċ } Ċ