package Ġar un . com . chrom er . home . e po xy controller Ċ Ċ import Ġandroid . app . Application Ċ import Ġar un . com . chrom er . R Ċ import Ġar un . com . chrom er . data . website . model . Website Ċ import Ġar un . com . chrom er . home . e po xy controller . model . Custom Tab Provider Info Ċ import Ġar un . com . chrom er . home . e po xy controller . model . provider Info Ċ import Ġar un . com . chrom er . home . e po xy controller . model . recent s Card Ċ import Ġar un . com . chrom er . home . e po xy controller . model . tabs Info Ċ import Ġar un . com . chrom er . shared . ep x oy . model . header Layout Ċ import Ġar un . com . chrom er . tabs . Tabs Manager Ċ import Ġar un . com . chrom er . util . e po xy . in determinate Progress Ċ import Ġcom . air bnb . e po xy . Async E po xy Controller Ċ import Ġdev . ar unk umar . common . result . Resource Ċ import Ġdev . ar unk umar . common . result . idle Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome Feed Controller Ċ @ Inject Ċ constructor ( ĊĠ Ġprivate Ġval Ġapplication : ĠApplication , ĊĠ Ġprivate Ġval Ġtabs Manager : ĠTabs Manager Ċ ) Ġ: ĠAsync E po xy Controller () Ġ{ ĊĊĠ Ġvar Ġcustom Tab Provider Info : ĠCustom Tab Provider Info ? Ġ= Ġnull ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠ Ġrequest Delayed Model Build ( 0 ) ĊĠĠĠ Ġ} ĊĊĠ Ġvar Ġrecent Web Sites : ĠResource < List < Website >> Ġ= Ġidle () ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠ Ġrequest Delayed Model Build ( 0 ) ĊĠĠĠ Ġ} ĊĊĠ Ġvar Ġtabs : ĠList < Tabs Manager . Tab > Ġ= Ġempty List () ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠ Ġrequest Delayed Model Build ( 0 ) ĊĠĠĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġbuild Models () Ġ{ ĊĠĠĠ Ġif Ġ( tabs . isNotEmpty () Ġ|| Ġcustom Tab Provider Info Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġheader Layout Ġ{ ĊĠĠĠĠĠĠĠ Ġid (" status - header ") ĊĠĠĠĠĠĠĠ Ġtitle ( application . getString ( R . string . status )) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( tabs . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠ Ġtabs Info Ġ{ ĊĠĠĠĠĠĠĠ Ġid (" tabs - info ") ĊĠĠĠĠĠĠĠ Ġtabs ( tabs ) ĊĠĠĠĠĠĠĠ Ġtabs Manager ( tabs Manager ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcustom Tab Provider Info ?. let Ġ{ ĊĠĠĠĠĠ Ġprovider Info Ġ{ ĊĠĠĠĠĠĠĠ Ġid (" provider - info ") ĊĠĠĠĠĠĠĠ Ġprovider Info ( it ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġheader Layout Ġ{ ĊĠĠĠĠĠ Ġid (" pages - header ") ĊĠĠĠĠĠ Ġtitle ( application . getString ( R . string . pages )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwhen Ġ( val Ġrecent s Ġ= Ġrecent Web Sites ) Ġ{ ĊĠĠĠĠĠ Ġis ĠResource . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġrecent s Card Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġid (" recent s - card ") ĊĠĠĠĠĠĠĠĠĠ Ġwebsites ( recent s . data ) ĊĠĠĠĠĠĠĠĠĠ Ġtabs Manager ( tabs Manager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġis ĠResource . Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġin determinate Progress Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġid (" recent s - progress ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }