package Ġcom . the sur ix . gest urer ec y cl er Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ /** Ċ Ġ* ĠBase Ġview Ġholder Ġclass Ġfor Ġgesture Ġcompatible Ġitems . Ċ Ġ* Ġ@ author Ġthe sur ix Ċ Ġ*/ Ċ abstract Ġclass ĠGest ure ViewHolder < T >( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġview Ġthat Ġcan Ġspawn Ġdrag Ġgesture . ĠIf Ġthere Ġis Ġno Ġview Ġsimply Ġreturn Ġnull . ĊĠĠĠĠ Ġ* Ġ@ return Ġview Ġthat Ġcan Ġspawn Ġdrag Ġgesture ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġval Ġdraggable View : ĠView ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġtop Ġvisible Ġview Ġ( origin ally Ġroot Ġview Ġof Ġthe Ġitem ), ĊĠĠĠĠ Ġ* Ġoverride Ġthis Ġmethod Ġto Ġuse Ġbackground Ġview Ġfeature Ġin Ġcase Ġof Ġswipe Ġgest ures . ĊĠĠĠĠ Ġ* Ġ@ return Ġtop Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġval Ġforeground View : ĠView ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠitemView ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġbackground Ġview Ġwhich Ġis Ġvisible Ġwhen Ġforeground Ġview Ġis Ġpartially Ġor Ġfully Ġsw ip ed . ĊĠĠĠĠ Ġ* Ġ@ return Ġbackground Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġval Ġbackground View : ĠView ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMethod Ġthat Ġshows Ġview Ġfor Ġmanual Ġdrag Ġgest ures . ĊĠĠĠĠ Ġ* ĠCalled Ġonly Ġwhen Ġget Drag gable View () Ġreturns Ġvalid Ġview . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġshow Drag gable View () Ġ{ ĊĠĠĠĠĠĠĠ Ġdraggable View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMethod Ġthat Ġhide s Ġview Ġfor Ġmanual Ġdrag Ġgest ures . ĊĠĠĠĠ Ġ* ĠCalled Ġonly Ġwhen Ġget Drag gable View () Ġreturns Ġvalid Ġview . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġhide Drag gable View () Ġ{ ĊĠĠĠĠĠĠĠ Ġdraggable View ?. visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġdeleg ates Ġbind Ġlogic Ġinto Ġyour ĠViewHolder . ĊĠĠĠĠ Ġ* Ġ@ param Ġitem Ġmodel Ġfrom Ġadapter 's Ġdata Ġcollection ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġbind ( item : ĠT ) Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġthat ĠViewHolder Ġis Ġready Ġto Ġre cycle Ġitself . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġre cycle () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġthat Ġview Ġis Ġselected . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġon Item Select () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġthat Ġview Ġhas Ġno Ġselection . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġon Item Clear () Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġget Background View ( direction : ĠInt ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbackground View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġinformation Ġif Ġwe Ġcan Ġdrag Ġthis Ġview . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġdraggable , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġcan Drag (): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġinformation Ġif Ġwe Ġcan Ġswipe Ġthis Ġview . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġswipe able , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġcan Swipe (): ĠBoolean Ċ } Ċ