package Ġcom . res dev . po e helper . view . adapter . callbacks Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . view . Motion Event Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper . ACTION _ STATE _ SW I PE Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . res dev . po e helper . model . Config Ċ import Ġcom . res dev . po e helper . utils . is Color Light Ċ import Ġcom . res dev . po e helper . utils . open Currency I rl Ċ import Ġcom . res dev . po e helper . view . adapter . C urrencies Adapter Ċ import Ġkotlin . math . abs ĊĊ Ċ class ĠSw ipe Currency Callback ( private Ġval Ġconfig : ĠConfig ) Ġ: ĊĠĠĠ ĠItem Touch Helper . Simple Callback ( 0 , ĠItem Touch Helper . LEFT ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Move ( ĊĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠ Ġtarget : ĠRecyclerView . ViewHolder ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sw ip ed ( view Holder : ĠRecyclerView . ViewHolder , Ġdirection : ĠInt ) Ġ{ ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġvar Ġswipe Back Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġfun ĠconvertTo Absolute Direction ( flags : ĠInt , Ġlayout Direction : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( swipe Back ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Back Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . convertTo Absolute Direction ( flags , Ġlayout Direction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Touch Listener ( ĊĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . ViewHolder , ĊĠĠĠĠĠĠĠ Ġd X : ĠFloat ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . setOn Touch Listener Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Back Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . action Ġ== ĠMotion Event . ACTION _ CANCEL Ġ|| Ġevent . action Ġ== ĠMotion Event . ACTION _ UP ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( will Action Be Triggered ( dX , Ġre cyclerView . width ) Ġand Ġswipe Back ) Ġ{// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Action ( view Holder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Child Draw ( ĊĠĠĠĠĠĠĠ Ġc : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġre cyclerView : ĠRecyclerView , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠRecyclerView . 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 Ġ= ĠviewHolder . item View ĊĠĠĠĠĠĠĠ Ġif Ġ( action State Ġ== ĠACTION _ STATE _ SW I PE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaint Ġ= ĠPaint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( will Action Be Triggered ( dX , Ġre cyclerView . width )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Color Light ( Integer . to HexString ( config . getColor ()))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġconfig . getColor () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . GRAY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . text Size Ġ= Ġ 4 0 F ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . textAlign Ġ= ĠPaint . Align . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Touch Listener ( re cyclerView , ĠviewHolder , Ġd X ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġheight Ġ= ĠitemView . top Ġ+ ĠitemView . height Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . draw Text (" Check Ġon ", Ġ( item View . right Ġ- Ġ 1 5 0 ). toFloat (), Ġ( height Ġ- Ġ 2 0 ). toFloat (), Ġpaint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . draw Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" path of ex ile ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( item View . right Ġ- Ġ 1 5 0 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( height Ġ+ Ġ 2 0 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Child Draw ( c , Ġre cyclerView , ĠviewHolder , Ġd X , Ġd Y , Ġaction State , Ġis Currently Active ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwill Action Be Triggered ( dX : ĠFloat , Ġview Width : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġabs ( dX ) Ġ>= Ġview Width Ġ/ Ġ 3 . 5 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmake Action ( view Holder : ĠRecyclerView . ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġopen Currency I rl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ĠC urrencies Adapter . Currency ViewHolder ). line , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . item View ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊ Ċ }