package Ġcom . k ro e ger ama . ka ite ki . recyclerview . example Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . app . Activity Options Compat Ċ import Ġandroidx . core . content . Context Compat . startActivity Ċ import Ġandroidx . core . view . View Compat Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . DataSource Ċ import Ġcom . bump tech . glide . load . engine . G lide Exception Ċ import Ġcom . bump tech . glide . request . RequestListener Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . bump tech . glide . request . target . Target Ċ import Ġcom . k ro e ger ama . ka ite ki . base ui . Base Activity Ċ import Ġcom . k ro e ger ama . ka ite ki . recyclerview . example . model . Image Item Ċ import Ġcom . k ro e ger ama . ka ite ki . recyclerview . example . view . Pull Dismiss Layout Ċ import Ġkotlinx . android . synt hetic . main . frag _ detail .* ĊĊ Ċ class ĠAc Detail Ġ: ĠBase Activity ( R . layout . frag _ detail ), ĠPull Dismiss Layout . Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġarg Tn Image Ġby Ġlazy Ġ{ Ġintent ?. getString Extra ( ARG _ IMAGE _ TN ). or Empty () Ġ} ĊĠĠĠ Ġprivate Ġval Ġarg Tn Title Ġby Ġlazy Ġ{ Ġintent ?. getString Extra ( ARG _ TITLE _ TN ). or Empty () Ġ} ĊĠĠĠ Ġprivate Ġval Ġarg Url Ġby Ġlazy Ġ{ Ġintent ?. getString Extra ( ARG _ URL ). or Empty () Ġ} ĊĠĠĠ Ġprivate Ġval Ġarg Title Ġby Ġlazy Ġ{ Ġintent ?. getString Extra ( ARG _ TITLE ). or Empty () Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprepare () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfade Ġ= ĠF ade () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġfade . exclude Target ( android . R . id . status Bar Background , Ġtrue ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġfade . exclude Target ( android . R . id . navigation Bar Background , Ġtrue ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwindow ?. enter Transition Ġ= Ġfade Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwindow ?. exit Transition Ġ= Ġfade Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow ?. decor View ?. system Ui Visibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN Ġor ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup GUI () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport Post p one Enter Transition () ĊĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( iv Image , Ġarg Tn Image ) ĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( tv Title , Ġarg Tn Title ) ĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( dummy Bottom , Ġ" top Bar ") ĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( dummy Top , Ġ" bottom Nav ") ĊĊĠĠĠĠĠĠĠ Ġtv Title . text Ġ= Ġarg Title ĊĠĠĠĠĠĠĠ Ġload Image () ĊĊĠĠĠĠĠĠĠ Ġsetup Pull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Pull () Ġ{ ĊĠĠĠĠĠĠĠ Ġpull Dismiss . listener Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġpull Dismiss . remove View Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġpull Dismiss . animate Alpha Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpull Dismiss . height Percent Ġ= Ġ. 5 f Ċ // ĠĠĠĠĠĠĠ Ġpull Dismiss . alpha Percent Ġ= Ġ. 5 f ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Image () Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( arg Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . no Transformation ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addListener ( object Ġ: ĠRequest Listener < Drawable > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad Failed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe : ĠG lide Exception ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel : ĠAny ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget : ĠTarget < Drawable > ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis First Resource : ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport Start Post p oned Enter Transition () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Resource Ready ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource : ĠDrawable ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel : ĠAny ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget : ĠTarget < Drawable > ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSource : ĠDataSource ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis First Resource : ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport Start Post p oned Enter Transition () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). into ( iv Image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dis missed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport Finish After Transition () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Should Intercept Touch Event () Ġ= Ġscroll View . scroll Y Ġ!= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ IMAGE _ TN Ġ= Ġ" tn _ image " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ TITLE _ TN Ġ= Ġ" tn _ title " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ URL Ġ= Ġ" url " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ TITLE Ġ= Ġ" title " ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext , Ġoptions : ĠActivity Options Compat , Ġitem : ĠImage Item , Ġtn Image : ĠString , Ġtn Title : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠAc Detail :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ARG _ IMAGE _ TN , Ġtn Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ARG _ TITLE _ TN , Ġtn Title ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ARG _ URL , Ġitem . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ARG _ TITLE , Ġitem . title ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( context , Ġintent , Ġoptions . to Bundle ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ( context Ġas ĠBase Activity ). override Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }