package Ġcom . oc ny ang . recyclerview event . paging 3 Ċ Ċ import Ġandroidx . paging . Paging Source Ċ import Ġandroidx . paging . Paging State Ċ import Ġjava . lang . Exception Ċ Ċ class ĠF ruit Paging Source ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepository : ĠF ruit Repository , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġquery F ruit Name : ĠString Ċ ) Ġ: ĠP aging Source < Int , ĠP aging F ruit Bean >() Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload ( params : ĠLoad Params < Int >): ĠLoad Result < Int , ĠP aging F ruit Bean > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnext Page Number Ġ= Ġparams . key Ġ?: Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Bean Ġ= Ġrepository . request F ruit List ( query F ruit Name , Ġnext Page Number ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( base Bean . is Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcurrentPage Ġ= Ġbase Bean . data . currentPage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprev Page Number Ġ= Ġif Ġ( currentPage Ġ> Ġ 1 ) ĠcurrentPage Ġ- Ġ 1 Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Page Number Ġ= Ġif Ġ( currentPage Ġ< Ġbase Bean . data . total Page ) ĠcurrentPage Ġ+ Ġ 1 Ġelse Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Result . Page < Int , ĠP aging F ruit Bean >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġbase Bean . data . fr uits , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Key Ġ= Ġprev Page Number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Key Ġ= Ġnext Page Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Result . Error ( Exception ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Result . Error ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Refresh Key ( state : ĠP aging State < Int , ĠP aging F ruit Bean >): ĠInt ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠ Ġ} Ċ }