package Ġcom . cu ided ac idade . features . pending requests Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . cu ided ac idade . core . Base ViewModel Ċ import Ġcom . cu ided ac idade . core . auth . Auth Manager Ċ import Ġcom . cu ided ac idade . core . network . Resource Ċ import Ġcom . cu ided ac idade . core . task . Scheduler Provider Ċ import Ġcom . cu ided ac idade . domain . entity . Request Ċ import Ġcom . cu ided ac idade . domain . use case . Get Pending Requests UseCase Ċ import Ġcom . cu ided ac idade . log . Log Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠPending Requests ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġscheduler Provider : ĠScheduler Provider , ĊĠĠĠ Ġprivate Ġval Ġget Pending Requests UseCase : ĠGet Pending Requests UseCase , ĊĠĠĠ Ġprivate Ġval Ġapp Auth Manager : ĠAuth Manager Ċ ) Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpending Requests : ĠMutable LiveData < Resource < List < Request >>> Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlive Data Ġ= ĠMutable LiveData < Resource < List < Request >> >() ĊĠĠĠĠĠĠĠ Ġload Pending Requests ( live Data ) ĊĠĠĠĠĠĠĠ Ġlive Data ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Pending Requests (): ĠLive Data < Resource < List < Request >>> Ġ= Ġpending Requests ĊĊĠĠĠ Ġfun Ġrefresh Pending Requests () Ġ= Ġload Pending Requests ( pending Requests ) ĊĊĠĠĠ Ġprivate Ġfun Ġload Pending Requests ( ĊĠĠĠĠĠĠĠ Ġlive Data : ĠMutable LiveData < Resource < List < Request >>> ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclear Composite Disposable () ĊĊĠĠĠĠĠĠĠ Ġlive Data . value Ġ= ĠResource . Loading () ĊĊĠĠĠĠĠĠĠ Ġval Ġsubscription Get Pending Requests UseCase Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Pending Requests UseCase ( app Auth Manager . getUserId ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler Provider . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data . value Ġ= ĠResource . Success ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . exception ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data . value Ġ= ĠResource . Error ( null , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġadd In Composite Disposable ( subscription Get Pending Requests UseCase ) ĊĠĠĠ Ġ} Ċ }