package Ġcom . om ar . death note . notes . content . picture Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . v 4 . widget . Drawer Layout Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Tree Observer Ċ import Ġcom . alk u rop . database . Content Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . Rx View Ċ import Ġcom . om ar . death note . Component Container Ċ import Ġcom . om ar . death note . Constants Ċ import Ġcom . om ar . death note . notes . ContentView Component Ċ import Ġcom . om ar . death note . notes . content . Content ViewHolder Ċ import Ġcom . om ar . death note . pic view . Single View Activity Ċ import Ġcom . om ar . death note . utility . plus Assign Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers . main Thread Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġkotlinx . android . synt hetic . main . note _ elem _ pic . view . content View Ċ import Ġjava . util . ArrayList Ċ import Ġjavax . inject . Inject Ċ import Ġcom . maker amen . rounded image view . Rounded Transformation Builder Ċ import Ġkotlinx . android . synt hetic . main . note _ elem _ pic . view . container Ċ import Ġkotlinx . android . synt hetic . main . note _ elem _ pic . view . del ĊĊ Ċ class ĠPicture ViewHolder ( ĊĠĠĠĠĠĠĠ ĠitemView : ĠView ?, ĊĠĠĠĠĠĠĠ ĠonDelete Callback : Ġ( Long ) Ġ-> ĠUnit Ċ ) Ġ: ĠContent ViewHolder ( item View , ĠonDelete Callback ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠPicture Presenter ĊĊĠĠĠ Ġval Ġdis Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( content : ĠContent ) Ġ{ ĊĠĠĠĠĠĠĠ ĠComponent Container . instance [ ContentView Component :: class . java ]. inject ( this ) ĊĠĠĠĠĠĠĠ Ġpresenter . content Ġ= Ġcontent ĊĊĠĠĠĠĠĠĠ ĠitemView . content View . view Tree Observer . add On Pre Draw Listener ( object Ġ: ĠView Tree Observer . On Pre Draw Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Pre Draw (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . content View . view Tree Observer . remove On Pre Draw Listener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( content . content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resize ( item View . meas ured Width , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . content View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠRx View . click s ( item View . del ). subscribe Ġ{ ĠonDelete Callback . invoke ( content . id ) Ġ} ĊĊĠĠĠĠĠĠĠ ĠRx View . click s ( item View . container ). subscribe Ġ{ Ġpresenter . open Image Viewer () Ġ} ĊĊĠĠĠĠĠĠĠ Ġdis Ġ+= Ġpresenter . nav Subject . observe On ( main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( item View . context , ĠSingle View Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . ID , Ġit . position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putString ArrayList Extra ( Constants . LIST , ĠArrayList ( it . image Content List Sorted )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . context . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun bind () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis . clear () ĊĠĠĠ Ġ} Ċ Ċ } Ċ