package Ġcom . apps . firewall papers Ċ Ċ import Ġcom . google . android . gms . tasks . Task Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . auth . Firebase User Ċ import Ġcom . google . firebase . firestore . Document Snapshot Ċ import Ġcom . google . firebase . firestore . Firebase Fire store Ċ import Ġcom . google . firebase . firestore . Query Ċ import Ġcom . google . firebase . firestore . Query Snapshot Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġab hin av Ġon Ġ 2 / 6 / 2 0 . Ċ Ġ*/ Ċ Ċ // This Ġclass Ġis Ġfor Ġloading Ġall Ġwall papers Ġand Ġtheir Ġthumb nails Ċ Ċ class ĠFirebase Repository { ĊĊĠĠĠ Ġprivate Ġval Ġfirebase Auth : ĠFirebase Auth Ġ= ĠFirebase Auth . getInstance () ĊĠĠĠ Ġprivate Ġval Ġfirebase Fire store : ĠFirebase Fire store Ġ= ĠFirebase Fire store . getInstance () ĊĊĠĠĠ Ġ// For Ġimplementing Ġpagination ĊĠĠĠ Ġvar Ġlast Visible Ġ: ĠDocument Snapshot ? Ġ= null ĊĠĠĠ Ġprivate Ġval ĠpageSize : ĠLong Ġ= Ġ 6 ĊĊĠĠĠ Ġ// Ġfunction Ġto Ġcheck Ġwhether Ġthe Ġuser Ġis Ġlogged Ġin / not ĊĠĠĠ Ġfun ĠgetUser (): ĠFirebase User ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfirebase Auth . currentUser ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġquery Wall papers (): ĠTask < Query Snapshot > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif ( last Visible == null ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// qu ering Ġfor Ġthe Ġfirst Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Load Ġfirst Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfirebase Fire store ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collection (" Wall papers ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy (" date ", ĠQuery . Direction . DESC ENDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. limit ( 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Load Ġnext Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfirebase Fire store ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collection (" Wall papers ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy (" date ", Query . Direction . DESC ENDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start After ( last Visible !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. limit ( pageSize ). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ