package Ġcom . example . tape stry . ui . home Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . example . tape stry . objects . Wall Image Ċ import Ġcom . example . tape stry . utils . Red dit API Ċ import Ġkotlinx . coroutines . Internal Cor outines Api Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠImage ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġvar Ġwall Images Ġ= ĠMutable LiveData < ArrayList < Wall Image >>() ĊĠĠĠ Ġvar ĠisLoading Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġvar Ġcurrent Sort Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġquery Ġ= Ġ"" ĊĠĠĠ Ġvar Ġafter Ġ= Ġ"" ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwall Images . value Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Internal Cor outines Api ĊĠĠĠ Ġfun ĠgetNext Images () Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġwall Images . value Ġ= Ġwall Images . value ĊĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRed dit API . load Images ( query , Ġcurrent Sort , Ġafter ) Ġ{ Ġwall Image , Ġnext After , Ġis Last Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Last ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwall Images . post Value ( wall Images . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( wall Image . img Url . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ load Images ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwall Images . value ?. add ( wall Image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwall Images . post Value ( wall Images . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġafter Ġ= Ġnext After ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġwall Images . value ?. clear () ĊĠĠĠĠĠĠĠ Ġwall Images . value Ġ= Ġwall Images . value ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Internal Cor outines Api ĊĠĠĠ Ġfun Ġset Q And Sort ( q : ĠString , Ġsort : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġquery Ġ= Ġq ĊĠĠĠĠĠĠĠ Ġcurrent Sort Ġ= Ġsort ĊĠĠĠĠĠĠĠ Ġwall Images . value ?. clear () ĊĠĠĠĠĠĠĠ Ġwall Images . value Ġ= Ġwall Images . value ĊĠĠĠĠĠĠĠ Ġafter Ġ= Ġ"" ĊĠĠĠĠĠĠĠ ĠgetNext Images () ĊĠĠĠ Ġ} Ċ } Ċ