/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠTw ilio ĠInc . Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġcom . tw ilio . verify . sample . view . factors . list Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper . Simple Callback Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder Ċ Ċ class ĠSw ipe ToDelete Callback ( ĊĠ Ġprivate Ġval Ġdelete : Ġ( Int ) Ġ-> ĠUnit , ĊĠ Ġprivate Ġval Ġicon : ĠDrawable , ĊĠ Ġprivate Ġval Ġbackground : ĠColor Drawable Ġ= ĠColor Drawable ( Color . RED ) Ċ ) Ġ: ĠSimple Callback ( ĊĠĠ 0 , ĠItem Touch Helper . LEFT Ġor ĠItem Touch Helper . RIGHT Ċ ) Ġ{ ĊĠ Ġoverride Ġfun Ġon Move ( ĊĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠ ĠviewHolder : ĠViewHolder , ĊĠĠĠ Ġtarget : ĠViewHolder ĊĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠ Ġ// Ġused Ġfor Ġup Ġand Ġdown Ġmov ements ĊĠĠĠ Ġreturn Ġfalse ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Sw ip ed ( ĊĠĠĠ ĠviewHolder : ĠViewHolder , ĊĠĠĠ Ġdirection : ĠInt ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġval Ġposition Ġ= ĠviewHolder . adapter Position ĊĠĠĠ Ġdelete ( position ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Child Draw ( ĊĠĠĠ Ġc : ĠCanvas , ĊĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠ ĠviewHolder : ĠViewHolder , ĊĠĠĠ Ġd X : ĠFloat , ĊĠĠĠ Ġd Y : ĠFloat , ĊĠĠĠ Ġaction State : ĠInt , ĊĠĠĠ Ġis Currently Active : ĠBoolean ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġsuper . on Child Draw ( c , Ġre cyclerView , ĠviewHolder , Ġd X , Ġd Y , Ġaction State , Ġis Currently Active ) ĊĠĠĠ Ġval ĠitemView : ĠView Ġ= ĠviewHolder . item View ĊĠĠĠ Ġval Ġbackground Corner Offset Ġ= Ġ 2 0 Ġ// Ġso Ġbackground Ġis Ġbehind Ġthe Ġrounded Ġcorners Ġof ĠitemView ĊĠĠĠ Ġval Ġicon Margin : ĠInt Ġ= Ġ( item View . height Ġ- Ġicon . intrinsic Height ) Ġ/ Ġ 2 ĊĠĠĠ Ġval Ġicon Top : ĠInt Ġ= ĠitemView . top Ġ+ Ġ( item View . height Ġ- Ġicon . intrinsic Height ) Ġ/ Ġ 2 ĊĠĠĠ Ġval Ġicon Bottom Ġ= Ġicon Top Ġ+ Ġicon . intrinsic Height ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠ Ġd X Ġ> Ġ 0 Ġ-> Ġ{ Ġ// ĠSw ip ing Ġto Ġthe Ġright ĊĠĠĠĠĠĠĠ Ġval Ġicon Left : ĠInt Ġ= ĠitemView . left Ġ+ Ġicon Margin Ġ+ Ġicon . intrinsic Width ĊĠĠĠĠĠĠĠ Ġval Ġicon Right : ĠInt Ġ= ĠitemView . left Ġ+ Ġicon Margin ĊĠĠĠĠĠĠĠ Ġicon . setBounds ( icon Left , Ġicon Top , Ġicon Right , Ġicon Bottom ) ĊĠĠĠĠĠĠĠ Ġbackground . setBounds ( ĊĠĠĠĠĠĠĠĠĠ ĠitemView . left , ĠitemView . top , ĊĠĠĠĠĠĠĠĠĠ ĠitemView . left Ġ+ Ġd X . toInt () Ġ+ Ġbackground Corner Offset , ĠitemView . bottom ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġd X Ġ< Ġ 0 Ġ-> Ġ{ Ġ// ĠSw ip ing Ġto Ġthe Ġleft ĊĠĠĠĠĠĠĠ Ġval Ġicon Left : ĠInt Ġ= ĠitemView . right Ġ- Ġicon Margin Ġ- Ġicon . intrinsic Width ĊĠĠĠĠĠĠĠ Ġval Ġicon Right : ĠInt Ġ= ĠitemView . right Ġ- Ġicon Margin ĊĠĠĠĠĠĠĠ Ġicon . setBounds ( icon Left , Ġicon Top , Ġicon Right , Ġicon Bottom ) ĊĠĠĠĠĠĠĠ Ġbackground . setBounds ( ĊĠĠĠĠĠĠĠĠĠ ĠitemView . right Ġ+ Ġd X . toInt () Ġ- Ġbackground Corner Offset , ĊĠĠĠĠĠĠĠĠĠ ĠitemView . top , ĠitemView . right , ĠitemView . bottom ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ġ// Ġview Ġis Ġun Sw ip ed ĊĠĠĠĠĠĠĠ Ġbackground . setBounds ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġbackground . draw ( c ) ĊĠĠĠ Ġicon . draw ( c ) ĊĠ Ġ} Ċ } Ċ