package Ġcom . l dept . rest ap ide mo . data Ċ Ċ import Ġandroidx . paging . Pager Ċ import Ġandroidx . paging . Paging Config Ċ import Ġandroidx . paging . live Data Ċ import Ġcom . l dept . rest ap ide mo . data . github API . Github API Ċ import Ġcom . l dept . rest ap ide mo . data . models . Github File Ċ import Ġretrofit 2 . Response Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ private Ġconst Ġval ĠPAGE _ SIZE Ġ= Ġ 3 0 Ċ private Ġconst Ġval ĠMAX _ SIZE Ġ= Ġ 1 0 0 Ċ Ċ @ Singleton Ċ class ĠRepository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġgithub API : ĠGithub API Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġget Repo Files ( repo Name : ĠString ): ĠResponse < List < Github File >> Ġ= ĊĠĠĠĠĠĠĠ Ġgithub API . get Al leg ro Repo Files ( repo Name ) ĊĊĠĠĠ Ġfun Ġget Github Repos () Ġ= ĊĠĠĠĠĠĠĠ ĠP ager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= ĠP aging Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize Ġ= ĠPAGE _ SIZE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxSize Ġ= ĠMAX _ SIZE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Place holders Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Source Factory Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGithub Paging Source ( github API ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). live Data Ċ }