package Ġru . gr ak hell . user viewer . storage Ċ Ċ import Ġandroidx . paging . DataSource Ċ import Ġandroidx . paging . Paged List Ċ import Ġandroidx . paging . Rx Paged List Builder Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġru . gr ak hell . user viewer . domain . entity . Get Repository Info Query Ċ import Ġru . gr ak hell . user viewer . domain . entity . Get UserInfo Query Ċ import Ġru . gr ak hell . user viewer . storage . remote . Rx Observable Creator Ċ import Ġru . gr ak hell . user viewer . storage . source . Repository Branches Info DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . Repository Info Source Ċ import Ġru . gr ak hell . user viewer . storage . source . Repository Lang Info DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . Repository St arg az ers Info Date Source Ċ import Ġru . gr ak hell . user viewer . storage . source . Repository Watch ers Info DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . UserInfo Source Ċ import Ġru . gr ak hell . user viewer . storage . source . User Organ isation Info DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . UserRepository Info DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . User SearchResult DataSource Ċ import Ġru . gr ak hell . user viewer . storage . source . User Star red Repositories Info DataSource Ċ import Ġjavax . inject . Inject Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ class ĠRepository Impl Ġ@ Inject Ġconstructor ( private Ġval Ġrx Builder : ĠRx Observable Creator ) Ġ: ĠRepository Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠPAGE _ SIZE : ĠInt Ġ= Ġ 2 0 ĊĠĠĠ Ġprivate Ġval Ġconfig : ĠP aged List . Config Ġ= ĠP aged List . Config . Builder () ĊĠĠĠĠĠĠĠ Ġ. set Enable Place holders ( false ) ĊĠĠĠĠĠĠĠ Ġ. setInitial Load Size Hint ( PAGE _ SIZE Ġ* 2 ) ĊĠĠĠĠĠĠĠ Ġ. set PageSize ( PAGE _ SIZE ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository Branches Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġrepo Name : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠ ĠRepository Branches Info DataSource . DataSource Factory ( userName , Ġrepo Name , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository Language Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġrepo Name : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠRepository Lang Info DataSource . DataSource Factory ( userName , Ġrepo Name , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository St arg az ers Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġrepo Name : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠRepository St arg az ers Info Date Source . DataSource Factory ( userName , Ġrepo Name , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository Watch ers Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġrepo Name : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠRepository Watch ers Info DataSource . DataSource Factory ( userName , Ġrepo Name , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġrepo Name : ĠString ĊĠĠĠ Ġ): ĠObservable < Get Repository Info Query . Repository ?> Ġ= ĊĠĠĠĠĠĠĠ ĠRepository Info Source ( userName , Ġrepo Name , Ġrx Builder ). parse () ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser SearchResult Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser SearchResult DataSource . DataSource Factory ( userName , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Organ isation Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser Organ isation Info DataSource . DataSource Factory ( userName , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Repository Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser Repository Info DataSource . DataSource Factory ( userName , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Star red Repository Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser Star red Repositories Info DataSource . DataSource Factory ( userName , Ġrx Builder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Rx Observable ( config ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Info Data ( ĊĠĠĠĠĠĠĠ ĠuserName : ĠString ĊĠĠĠ Ġ): ĠObservable < Get UserInfo Query . User ?> Ġ= ĊĠĠĠĠĠĠĠ ĠUserInfo Source ( userName , Ġrx Builder ). parse () ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< K , ĠV > ĠDataSource . Factory < K , ĠV >. get Rx Observable ( ĊĠĠĠĠĠĠĠ Ġconfig : ĠP aged List . Config ĊĠĠĠ Ġ) Ġ= ĠRx Paged List Builder ( this , Ġconfig ) ĊĠĠĠĠĠĠĠ Ġ. set Fetch Scheduler ( Schedulers . computation ()) ĊĠĠĠĠĠĠĠ Ġ. set Notify Scheduler ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠ Ġ. build Observable () Ċ }