package Ġcom . sample . j ub ako Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . just eat . j ub ako . J ub ako Ċ import Ġcom . just eat . j ub ako . extensions . load Ċ import Ġcom . just eat . j ub ako . recycler views . add RecyclerView Ċ import Ġcom . just eat . j ub ako . recycler views . pageSize Ċ import Ġcom . just eat . j ub ako . recycler views . with J ub ako Ċ import Ġkotlinx . android . synt hetic . main . activity _ j ub ako _ recycler . re cyclerView Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠSimple Car ouse ls Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ j ub ako _ recycler ) ĊĊĠĠĠĠĠĠĠ ĠJ ub ako . logger Ġ= ĠJ ub ako . Logger ( Build Config . DEBUG ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġpage Ġsize Ġto Ġ 1 Ġso Ġwe Ġcan Ġsee Ġit Ġloading Ġ( descriptions Ġare Ġdelayed Ġby Ġ 5 0 0 ms ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . with J ub ako ( this , ĠpageSize ( 1 )). load Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġ 1 0 0 ). forEach Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd RecyclerView ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInf late Ġa Ġview Ġfor Ġour Ġcarousel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġ{ Ġinflater , Ġparent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . simple _ carousel , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠProvide Ġa Ġlambda Ġthat Ġwill Ġcreate Ġour Ġcarousel Ġitem Ġview Ġholder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ViewHolder Ġ= Ġ{ Ġinflater , Ġparent , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Carousel Item ViewHolder ( in flater , Ġparent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSpecify Ġthe Ġdata Ġthat Ġwill Ġbe Ġloaded Ġinto Ġthe Ġcarousel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ% Ġ 2 Ġ== Ġ 0 Ġ-> Ġget Numbers English () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġget Numbers J apanese () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠProvide Ġa Ġlambda Ġthat Ġwill Ġfetch Ġcarousel Ġitem Ġdata Ġby Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Data Ġ= Ġ{ Ġdata , Ġposition Ġ-> Ġdata [ position ] Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSpecify Ġa Ġlambda Ġthat Ġwill Ġprovide Ġthe Ġcount Ġof Ġitem Ġdata Ġin Ġour Ġcarousel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Count Ġ= Ġ{ Ġdata Ġ-> Ġdata . size Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSpecify Ġa Ġview Binder Ġthat Ġwill Ġallow Ġbinding Ġbetween Ġdata Ġand Ġitem Ġholder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binder Ġ= Ġ{ Ġholder , Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . findViewById < TextView >( R . id . text ). text Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠSimple Carousel Item ViewHolder ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( in flater . inflate ( R . layout . simple _ carousel _ item _ text , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Numbers English (): ĠLive Data < List < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠLive Data < List < String >>() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Active () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Value ( listOf (" One ", Ġ" Two ", Ġ" Three ", Ġ" Four ", Ġ" Five ", Ġ" Six ", Ġ" Se ven ", Ġ" E ight ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Numbers J apanese (): ĠLive Data < List < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠLive Data < List < String >>() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Active () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Value ( listOf (" ãģ ² ãģ¨ ãģ¤ ", Ġ" ãģ µ ãģŁ ãģ¤ ", Ġ" ãģ¿ ãģ£ ãģ¤ ", Ġ" ãĤĪ ãģ£ ãģ¤ ", Ġ" ãģĦ ãģ¤ ãģ¤ ", Ġ" ãĤĢ ãģ£ ãģ¤ ", Ġ" ãģª ãģª ãģ¤ ", Ġ" ãĤĦ ãģ£ ãģ¤ ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ