package Ġcom . lz ite ch . filter me . view Models Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . lz ite ch . filter me . repositories . Saved Image Repository Ċ import Ġcom . lz ite ch . filter me . utilities . Cor outines Ċ import Ġjava . io . File Ċ Ċ class ĠSaved Image ViewModel ( private Ġval Ġsaved Image Repository : ĠSaved Image Repository ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsaved Images Data State Ġ= ĠMutable LiveData < Saved ImageData State >() ĊĠĠĠ Ġval Ġsaved Images Ui State : ĠLive Data < Saved ImageData State > Ġget () Ġ= Ġsaved Images Data State ĊĊĠĠĠ Ġfun Ġload Saved Images () Ġ{ ĊĠĠĠĠĠĠĠ ĠCor outines . io Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Saved Image Ui State ( isLoading Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsaved Image Repository . load Saved Images () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. on Success Ġ{ Ġsaved Images Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( saved Images . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Saved Image Ui State ( error Ġ= Ġ" No ĠImages ĠFound ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Saved Image Ui State ( saved Images Ġ= Ġsaved Images ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Saved Image Ui State ( error Ġ= Ġerror . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġemit Saved Image Ui State ( ĊĠĠĠĠĠĠĠ ĠisLoading : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġsaved Images : ĠList < Pair < File , ĠBitmap >> ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġerror : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata State Ġ= ĠSaved ImageData State ( isLoading , Ġsaved Images , Ġerror ) ĊĠĠĠĠĠĠĠ Ġsaved Images Data State . post Value ( data State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠSaved ImageData State ( ĊĠĠĠĠĠĠĠ Ġval ĠisLoading : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġsaved Images : ĠList < Pair < File , ĠBitmap >> ?, ĊĠĠĠĠĠĠĠ Ġval Ġerror : ĠString ? ĊĠĠĠ Ġ) Ċ }