package Ġcom . an ib al vent ura . my places . utils Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . an ib al vent ura . my places . R Ċ import Ġcom . an ib al vent ura . my places . utils . Constants . SW I PE _ DELETE Ċ import Ġcom . an ib al vent ura . my places . utils . Constants . SW I PE _ EDIT Ċ Ċ abstract Ġclass ĠSw ipe Item ( ĊĠĠĠ Ġprivate Ġval Ġaction : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġbackground : ĠDrawable , ĊĠĠĠ Ġprivate Ġval Ġicon : ĠDrawable , ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext Ċ ) Ġ: ĠItem Touch Helper . Simple Callback ( 0 , Ġaction ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Move ( ĊĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠ Ġtarget : ĠRecyclerView . ViewHolder ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Use Compat Loading For Draw ables ") ĊĠĠĠ Ġoverride Ġfun Ġon Child Draw ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , Ġre cyclerView : ĠRecyclerView , ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠ Ġd X : ĠFloat , Ġd Y : ĠFloat , Ġaction State : ĠInt , Ġis Currently Active : ĠBoolean ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠviewHolder . item View ĊĊĠĠĠĠĠĠĠ Ġ/** Ġ================= ============ ĠDraw Ġbackground . Ġ================= ============ Ġ**/ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS WI PE _ DELETE Ġ-> Ġbackground . setBounds ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . left Ġ+ Ġd X . toInt (), ĠitemView . top , ĠitemView . right , ĠitemView . bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS WI PE _ EDIT Ġ-> Ġbackground . setBounds ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . left , ĠitemView . top , ĠitemView . right Ġ+ Ġd X . toInt (), ĠitemView . bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbackground . draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġ/** Ġ================= ============ ĠDraw ĠIcon . Ġ================= ============ Ġ**/ ĊĊĠĠĠĠĠĠĠ Ġval Ġitem Height Ġ= ĠitemView . bottom Ġ- ĠitemView . top ĊĠĠĠĠĠĠĠ Ġval Ġicon Margin Ġ= Ġ 5 5 ĊĠĠĠĠĠĠĠ Ġval Ġicon Top Ġ= ĠitemView . top Ġ+ Ġ( item Height Ġ- Ġicon . intrinsic Height ) Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġicon Bottom Ġ= Ġicon Top Ġ+ Ġicon . intrinsic Height ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS WI PE _ DELETE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Left Ġ= ĠitemView . right Ġ- Ġicon Margin Ġ- Ġicon . intrinsic Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Right Ġ= ĠitemView . right Ġ- Ġicon Margin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon . setBounds ( icon Left , Ġicon Top , Ġicon Right , Ġicon Bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS WI PE _ EDIT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Left Ġ= ĠitemView . left Ġ+ Ġicon Margin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Right Ġ= ĠitemView . left Ġ+ Ġicon Margin Ġ+ Ġicon . intrinsic Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon . setBounds ( icon Left , Ġicon Top , Ġicon Right , Ġicon Bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTemporary Ġchange Ġicon Ġcolor Ġfor Ġswipe . ĊĠĠĠĠĠĠĠ Ġicon . set Tint ( Activity Compat . getColor ( context , ĠR . color . swipe Icon Color )) ĊĠĠĠĠĠĠĠ Ġ// ĠDraw . ĊĠĠĠĠĠĠĠ Ġicon . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġ// ĠRestore Ġicon Ġcolor Ġafter Ġswipe . ĊĠĠĠĠĠĠĠ Ġicon . set Tint ( Activity Compat . getColor ( context , ĠR . color . icon Color )) ĊĊĠĠĠĠĠĠĠ Ġsuper . on Child Draw ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , Ġre cyclerView , ĠviewHolder , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd X , Ġd Y , Ġaction State , Ġis Currently Active ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }