/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠBy ĠG eek s ĠEmp ire . Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠE li as ĠF azel Ċ Ġ* ĠLast Ġmodified Ġ 8 / 1 5 / 2 1 , Ġ 1 1 : 3 5 ĠAM Ċ Ġ* Ċ Ġ* ĠLicensed ĠUnder ĠMIT ĠLicense . Ċ Ġ* Ġhttps :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġco . ge ek semp ire . premium . sto refront . movies . Sto refront For Movies Configurations . Network Operations Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġco . ge ek semp ire . premium . sto refront . Prem ium Sto refront Application Ċ import Ġco . ge ek semp ire . premium . sto refront . Sto refront Configurations . Data Structure . Products Ids Ċ import Ġco . ge ek semp ire . premium . sto refront . Sto refront Configurations . Network Endpoints . General Endpoints Ċ import Ġco . ge ek semp ire . premium . sto refront . movies . Sto refront For Movies Configurations . Data Structure . Feature d Movies Data Key Ċ import Ġco . ge ek semp ire . premium . sto refront . movies . Sto refront For Movies Configurations . Data Structure . Movies Data Key Ċ import Ġco . ge ek semp ire . premium . sto refront . movies . Sto refront For Movies Configurations . Data Structure . Movies Sto refront LiveData Ċ import Ġco . ge ek semp ire . premium . sto refront . movies . Sto refront For Movies Configurations . Network Endpoints . Movies Query Endpoints Ċ import Ġcom . google . firebase . firestore . Document Snapshot Ċ import Ġcom . google . firebase . firestore . Source Ċ Ċ fun Ġretrieve Feature d Movies ( context : ĠAppCompatActivity , Ġmovies Sto refront LiveData : ĠMov ies Sto refront LiveData ) Ġ{ ĊĊĠĠĠ Ġval Ġgeneral Endpoint Ġ= ĠGeneral Endpoints () ĊĊĠĠĠ Ġval Ġmovies Query Endpoint Ġ= ĠMov ies Query Endpoints ( general Endpoint ) ĊĊĠĠĠ Ġval Ġmovies Document Snapshots Ġ= ĠArrayList < Document Snapshot >() ĊĊĠĠĠ Ġ( context . application Ġas ĠPremium Sto refront Application ) ĊĠĠĠĠĠĠĠ Ġ. firestore Database ĊĠĠĠĠĠĠĠ Ġ. document ( movies Query Endpoint . sto refront Feature d Movies Endpoint ()) ĊĠĠĠĠĠĠĠ Ġ. get (). add On Success Listener Ġ{ Ġdocument Snapshot Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( document Snapshot . exists ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproducts Ids Ġ= Ġdocument Snapshot . toObject ( Products Ids :: class . java ) !!. Products Ids ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfeatured Movies Counter Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproducts Ids ?. forEach Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠproductId Ġ= Ġit [ Feature d Movies Data Key . ProductId ]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie Genre Ġ= Ġit [ Feature d Movies Data Key . Movie Genre ]. toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( context . application Ġas ĠPremium Sto refront Application ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. firestore Database ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. document ( movies Query Endpoint . sto refront Specific Movie Endpoint ( movie Genre , ĠproductId )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Source . SERVER ). add On Success Listener Ġ{ Ġmovie Document Snapshot Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfeatured Movies Counter ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( movie Document Snapshot . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Feature d ĠMov ies ", Ġmovie Document Snapshot . data ?. get ( Movies Data Key . Movie Name ). toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovies Document Snapshots . add ( movie Document Snapshot ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( products Ids . size Ġ== Ġfeatured Movies Counter ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovies Sto refront LiveData . featured Content Item Data . post Value ( movies Document Snapshots ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ }