package Ġcom . ib ash k imi . telegram . data . messages Ċ Ċ import Ġandroidx . paging . Paging Source Ċ import Ġandroidx . paging . Paging State Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . flow . first Ċ import Ġorg . dr ink less . td . lib core . telegram . Td Api Ċ Ċ @ Opt In ( Experimental Cor outines Api :: class ) Ċ class ĠMessages Paging Source ( ĊĠĠĠ Ġprivate Ġval Ġchat Id : ĠLong , ĊĠĠĠ Ġprivate Ġval Ġmessages : ĠMessages Repository Ċ ) Ġ: ĠP aging Source < Long , ĠT d Api . Message >() Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload ( params : ĠLoad Params < Long >): ĠLoad Result < Long , ĠT d Api . Message > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġmessages . get Messages ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ= Ġchat Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom MessageId Ġ= Ġparams . key Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlimit Ġ= Ġparams . load Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessages Ġ= Ġresponse . first () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Result . Page ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġmessages , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Key Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Key Ġ= Ġmessages . last OrNull ()?. id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Result . Error ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Refresh Key ( state : ĠP aging State < Long , ĠT d Api . Message >): ĠLong ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ