package Ġcom . private gallery . ak sc orp . private gallery android . Fragments Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Wrapper Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . View Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . private gallery . ak sc orp . private gallery android . Adapters . last Selected Image Position Ċ import Ġcom . private gallery . ak sc orp . private gallery android . Adapters . pre views Ċ import Ġcom . private gallery . ak sc orp . private gallery android . Ess entials . Image Ċ import Ġcom . private gallery . ak sc orp . private gallery android . R Ċ import Ġcom . private gallery . ak sc orp . private gallery android . Utilities . G lide App Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġkotlinx . android . synt hetic . main . detail _ fragment . view . image Ċ import Ġkotlinx . android . synt hetic . main . detail _ fragment . view . image 2 Ċ import Ġkotlinx . android . synt hetic . main . detail _ view _ pager . detail _ bottom _ bar Ċ Ċ @ Suppress Lint (" Valid Fragment ") Ċ class ĠDetail Fragment ( val Ġposition : ĠInt ) Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġimage Name : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġimage : ĠImage ĊĠĠĠ Ġvar Ġis Animation : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġwith ( arguments !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Name Ġ= ĠgetString (" image Name ") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Animation Ġ= Ġget Boolean (" is Animation ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ= Ġget Serializable (" image ") Ġas ĠImage ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ?, Ġstate : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġactivity !!. layout Inflater . inflate ( R . layout . detail _ fragment , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġview !!. image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Fragment !!. detail _ bottom _ bar . switch State () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġlast Selected Image Position Ġ&& Ġis Animation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . image 2 . setImage Bitmap ( pre views [ image Name ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( view !!. image 2 , Ġimage Name ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġestablish Image ( view ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġestablish Image ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmetrics Ġ= ĠDisplay Metrics () ĊĠĠĠĠĠĠĠ Ġactivity !!. window Manager . default Display . get Metrics ( metrics ) ĊĊĠĠĠĠĠĠĠ Ġview . image 2 . setImage Bitmap ( pre views [ image Name ]) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( image . extension !!. toUpperCase () Ġ== Ġ" G IF ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( getImage Path ( image )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( Bitmap Drawable ( context !!. resources , Ġpre views [ image Name ])) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. skip Memory Cache ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . placeholder _ image _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . disk Cache Strategy Of ( Disk Cache Strategy . NONE )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view . image 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . image . alpha Ġ= Ġ 0 f ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image . width !!. toInt () Ġ>= Ġmetrics . width Pixels Ġ|| Ġimage . height !!. toInt () Ġ>= Ġmetrics . height Pixels ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . image . show Image ( Uri . parse (" file ://" Ġ+ ĠgetImage Path ( image ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load (" file ://" Ġ+ ĠgetImage Path ( image )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( Bitmap Drawable ( context !!. resources , Ġpre views [ image Name ])) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view . image 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . image . alpha Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetImage Path ( image : ĠImage ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Wrapper ( context ). files Dir . path Ġ+ Ġ"/ Images /${ image . id }.${ image . extension }" Ċ Ċ }