/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġtec ru z Ċ Ġ* Ċ Ġ* Ġ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 Ġco . android base app kotlin mv vm . dynamic features . movies list . ui . list Ċ Ċ import Ġco . android base app kotlin mv vm . commons . ui . base . Base ViewState Ċ Ċ /** Ċ Ġ* ĠDifferent Ġstates Ġfor Ġ[ Movies List Fragment ]. Ċ Ġ* Ċ Ġ* Ġ@ see ĠBase ViewState Ċ Ġ*/ Ċ sealed Ġclass ĠMov ies ListView State Ġ: ĠBase ViewState Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRefresh ing Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠRefresh ing Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoaded Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠLoaded Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoading Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠLoading Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoading Ġon Ġadd Ġmore Ġelements Ġinto Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠAdd Loading Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEmpty Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠEmpty Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠError Ġon Ġloading Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠError Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠError Ġon Ġadd Ġmore Ġelements Ġinto Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠAdd Error Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNo Ġmore Ġelements Ġfor Ġadding Ġinto Ġmovies Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠNo More Elements Ġ: ĠMov ies ListView State () ĊĊĠĠĠ Ġ// Ġ================================================================= ================ =========== ĊĠĠĠ Ġ// Ġ ĠPublic Ġhelpers Ġmethods ĊĠĠĠ Ġ// Ġ================================================================= ================ =========== ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Refresh ing ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġrefresh ing Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Refresh ing () Ġ= Ġthis Ġis ĠRefresh ing ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Loaded ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġloaded Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Loaded () Ġ= Ġthis Ġis ĠLoaded ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Loading ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġloading Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisLoading () Ġ= Ġthis Ġis ĠLoading ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Add Loading ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġadd Ġloading Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Add Loading () Ġ= Ġthis Ġis ĠAdd Loading ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Empty ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġempty Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisEmpty () Ġ= Ġthis Ġis ĠEmpty ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Error ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġerror Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Error () Ġ= Ġthis Ġis ĠError ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ Add Error ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġadd Ġerror Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Add Error () Ġ= Ġthis Ġis ĠAdd Error ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġcurrent Ġview Ġstate Ġis Ġ[ No More Elements ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġis Ġno Ġmore Ġelements Ġstate , Ġotherwise Ġfalse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis No More Elements () Ġ= Ġthis Ġis ĠNo More Elements Ċ } Ċ