/** Ċ Ġ* Ġ( C ) ĠCopyright Ġ 2 0 1 9 ĠI ld ar ĠI shal in Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġk z . ild ar . sandbox . ui . main . stories Ċ Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġkotlinx . android . synt hetic . main . item _ story _ full .* Ċ import Ġk z . ild ar . sandbox . R Ċ import Ġk z . ild ar . sandbox . utils . Display Adapter Ċ import Ġk z . ild ar . sandbox . utils . Display Item Ċ import Ġk z . ild ar . sandbox . utils . Display ViewHolder Ċ Ċ class ĠSt ories Adapter Ġ: ĠDisplay Adapter () Ġ{ ĊĊĠĠĠ Ġvar Ġstories Ġ= ĠlistOf < Story Full Display >() ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ViewHolder ( view : ĠView , Ġ@ Layout Res Ġview Type : ĠInt ) Ġ= Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR . layout . item _ story _ full Ġ-> ĠStory Full Display . ViewHolder ( view ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Unknown Ġtype Ġ$ view Type , Ġyou Ġshould Ġmodify Ġcreate ViewHolder ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠÐŀ ÑĤ Ð¾Ð±ÑĢÐ°Ð¶ ÐµÐ½Ð¸Ðµ ĠÐ½ Ð°Ð± Ð¾ÑĢ Ð° ĠÑģÑĤÑĢÐ°Ð½Ð¸ÑĨ ĠÐ¾Ð´ Ð½Ð¾Ð¹ ĠÑģÑĤ Ð¾ÑĢ Ð¸ Ċ Ġ* ĠÐ¾ÑĤ Ð¾Ð±ÑĢÐ°Ð¶ Ð°ÐµÑĤÑģÑı ĠÐ¾Ð´ Ð½Ð° ĠÐ¸Ð· ĠÑģÑĤÑĢÐ°Ð½Ð¸ÑĨ Ġ[ pages ] ĠÑģ ĠÐ¸Ð½ Ð´ ÐµÐº Ñģ Ð¾Ð¼ Ġ[ page Position ] Ċ Ġ*/ Ċ class ĠStory Full Display ( ĊĠĠĠ Ġval Ġpage Count : ĠInt , ĊĠĠĠ Ġ@ Color Int ĊĠĠĠ Ġval Ġpages : ĠList < Int >, ĊĠĠĠ Ġvar Ġpage Position : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠDisplay Item ( R . layout . item _ story _ full ) Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠDisplay ViewHolder < Story Full Display >( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind ( item : ĠStory Full Display ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ story _ bg . load Color ( item . pages [ item . page Position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ story _ message . text Ġ= Ġ"$ adapter Position Ġ${ item . page Position }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠImageView . load Color (@ Color Int Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( Color Drawable ( color )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCube Page Transformer Ġ: ĠView Pager 2 . Page Transformer Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtransform Page ( view : ĠView , Ġposition : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . pivot X Ġ= Ġif Ġ( position Ġ< Ġ 0 F ) Ġview . width . toFloat () Ġelse Ġ 0 F ĊĠĠĠĠĠĠĠ Ġview . pivot Y Ġ= Ġview . height Ġ* Ġ 0 . 5 F ĊĠĠĠĠĠĠĠ Ġview . rotation Y Ġ= Ġ 4 5 F Ġ* Ġposition ĊĠĠĠ Ġ} Ċ } Ċ