package Ġcom . mat he ws achin . f ate grand autom ata . util Ċ Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ class ĠItem Touch Helper Callback ( private Ġval ĠAdapter : ĠI Item Touch Helper Adapter , ĊĠĠĠ Ġprivate Ġval ĠDrag Flags : ĠInt Ġ= ĠItem Touch Helper . LEFT Ġor ĠItem Touch Helper . RIGHT ) Ġ: ĠItem Touch Helper . Callback () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Movement Flags ( re cyclerView : ĠRecyclerView , ĠviewHolder : ĠRecyclerView . ViewHolder ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmake Movement Flags ( Drag Flags , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Long Press Drag Enabled () Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġis Item View Swipe Enabled () Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġon Move ( re cyclerView : ĠRecyclerView , ĠviewHolder : ĠRecyclerView . ViewHolder , Ġtarget : ĠRecyclerView . ViewHolder ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠAdapter . on Item Move ( view Holder . adapter Position , Ġtarget . adapter Position ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sw ip ed ( view Holder : ĠRecyclerView . ViewHolder , Ġdirection : ĠInt ) Ġ{ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Selected Changed ( view Holder : ĠRecyclerView . ViewHolder ?, Ġaction State : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġonly Ġwant Ġthe Ġactive Ġitem Ġto Ġchange ĊĠĠĠĠĠĠĠ Ġif Ġ( action State Ġ!= ĠItem Touch Helper . ACTION _ STATE _ IDLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view Holder Ġis ĠI Item Touch Helper ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLet Ġthe Ġview Ġholder Ġknow Ġthat Ġthis Ġitem Ġis Ġbeing Ġmoved Ġor Ġdrag ged ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . on ItemSelected () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on Selected Changed ( view Holder , Ġaction State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear View ( re cyclerView : ĠRecyclerView , ĠviewHolder : ĠRecyclerView . ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . clear View ( re cyclerView , ĠviewHolder ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( view Holder Ġis ĠI Item Touch Helper ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTell Ġthe Ġview Ġholder Ġit 's Ġtime Ġto Ġrestore Ġthe Ġidle Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . on Item Clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }