package Ġio . ure f lect . app . adapters Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġio . ure f lect . app . R Ċ import Ġkotlinx . android . synt hetic . main . view _ image . view .* Ċ Ċ class ĠImage Adapter ( val Ġdata : ĠList < String >, Ġprivate Ġval Ġmargin : ĠInt ) Ġ: ĠRecyclerView . Adapter < Image Adapter . ImageView Holder >() Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNumber Ġof Ġmirror Ġicon Ġon Ġthe Ġscreen ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNB Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠImage ViewHolder , Ġposition : ĠInt ) Ġ= Ġholder . bind ( data [ position ]) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġprivate Ġfun Ġresize ( parent : ĠViewGroup , Ġv : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġside Ġ= Ġ(( parent . meas ured Width Ġ- Ġmargin Ġ* Ġ( NB Ġ+ Ġ 1 )) Ġ/ ĠNB ) ĊĠĠĠĠĠĠĠ Ġv . layout Params Ġ= ĠRecyclerView . LayoutParams ( side , Ġside ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠImage ViewHolder Ġ= ĠImage ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . view _ image , Ġparent , Ġfalse ). apply Ġ{ Ġresize ( parent , Ġthis ) Ġ}) ĊĊĠĠĠ Ġclass ĠImage ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( path : ĠString ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Preview . setImage Bitmap ( getS ca led Bitmap ( this , Ġpath )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġget Scaled Bitmap ( v : ĠView , Ġpath : ĠString ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageView Width Ġ= Ġv . layout Params . width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageView Height Ġ= Ġv . layout Params . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbm Options Ġ= ĠBitmap Factory . Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbm Options . in Just Decode Bounds Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode File ( path , Ġbm Options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Width Ġ= Ġbm Options . out Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Height Ġ= Ġbm Options . out Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Factor Ġ= ĠMath . min ( bitmap Width Ġ/ ĠimageView Width , Ġbitmap Height Ġ/ ĠimageView Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbm Options . in Just Decode Bounds Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbm Options . in Sample Size Ġ= Ġscale Factor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBitmap Factory . decode File ( path , Ġbm Options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ