package Ġorg . bob stuff . bob board view . app . simple Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġorg . bob stuff . bob board view .* Ċ import Ġorg . bob stuff . bob board view . app . R Ċ import Ġorg . bob stuff . bob board view . app . util . Simple Shadow Builder Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġbob Ċ Ġ*/ Ċ class ĠSimple ListAdapter ( val Ġcontext : ĠContext , Ġdrag Operation : ĠBob Board Drag Operation < Card , ĠBoard List >, Ġcard Event Callbacks : ĠBob Board ListAdapter . Card Event Callbacks ): ĊĠĠĠĠĠĠĠ ĠBob Board List Array Adapter < Simple ListAdapter . Simple Card ViewHolder , ĠCard , ĠBoard List >( card Event Callbacks , Ġdrag Operation ) Ġ{ ĊĠĠĠ Ġvar Ġcolumn Containing Drag Target Redis playing Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠSimple Card ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġcards [ position ] ĊĠĠĠĠĠĠĠ Ġholder . overlay . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġholder . description . text Ġ= Ġcard . description ĊĠĠĠĠĠĠĠ Ġholder . item View . setOn Touch Listener ( Long Touch Handler ( context , Ġobject Ġ: ĠOn Long Touch Handler Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( e : ĠMotion Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// no - op ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Long Press ( event : ĠMotion Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshadow Builder Ġ= ĠSimple Shadow Builder ( holder . item View , Ġ 1 . 0 , Ġ 1 . 0 f , Ġevent . x , Ġevent . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Drag ( holder , Ġshadow Builder , Ġevent . x , Ġevent . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . overlay . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ})) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠSimple Card ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ simple _ card , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠSimple Card ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġon View Attached To Window ( view Holder : ĠSimple Card ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( column Containing Drag Target Redis playing Ġ&& ĠviewHolder . adapter Position Ġ== Ġdrag Operation . card Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . overlay . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Event Callbacks . card Moved During Drag ( view Holder , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Containing Drag Target Redis playing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Card Added During Drag Ġ&& Ġadded Card Id Ġ== ĠviewHolder . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . overlay . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on View Attached To Window ( view Holder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠSimple Card ViewHolder ( val Ġview : ĠView ): ĠBob Board ListAdapter . Card ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġoverlay : ĠView Ġ= Ġview . findViewById ( R . id . overlay ) ĊĠĠĠĠĠĠĠ Ġval Ġdescription : ĠTextView Ġ= Ġview . findViewById ( R . id . description ) ĊĠĠĠ Ġ} Ċ }