package Ġd roid developers 2 5 4 . dev fest n airo bi . repository Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . google . firebase . firestore . Firebase Fire store Ċ import Ġcom . google . firebase . firestore . Query Ċ import Ġd roid developers 2 5 4 . dev fest n airo bi . database . App Database Ċ import Ġd roid developers 2 5 4 . dev fest n airo bi . database . dao . Sessions Dao Ċ import Ġd roid developers 2 5 4 . dev fest n airo bi . data states . Sessions State Ċ import Ġd roid developers 2 5 4 . dev fest n airo bi . models . Sessions Model Ċ import Ġd roid developers 2 5 4 . dev fest n airo bi . utils . Droid Coin Ċ import Ġjava . util . concurrent . Executor Ċ import Ġjava . util . concurrent . Executors Ċ Ċ class ĠDay Two Repo Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsessions Dao : ĠS essions Dao Ġ= ĠApp Database . get Database ( Droid Coin . context ) !!. sessions Dao () ĊĠĠĠ Ġprivate Ġval Ġexecutor : ĠExecutor Ġ= ĠExec utors . new Single Thread Executor () ĊĠĠĠ Ġval Ġday Two Sessions : ĠLive Data < Sessions State > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsessions State Mutable LiveData Ġ= ĠMutable LiveData < Sessions State >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirebase Fire store Ġ= ĠFirebase Fire store . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirebase Fire store . collection (" day _ two ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy (" id ", ĠQuery . Direction . ASC ENDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsessions Model List Ġ= Ġit . to Objects ( Sessions Model :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsessions State Mutable LiveData . value Ġ= ĠS essions State ( sessions Model List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecutor . execute Ġ{ Ġsessions Dao . save Session ( sessions Model List ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsessions State Mutable LiveData . value Ġ= ĠS essions State ( null , it . message ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsessions State Mutable LiveData ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ