package Ġcom . cy bers h ark . draw ings app . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . format . Date Utils Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġjava . util .* ĊĊ Ċ internal Ġfun ĠDate . get Friendly String (): ĠString Ġ{ ĊĠĠĠ Ġval ĠcurrentTime Ġ= ĠDate () ĊĠĠĠ Ġval Ġtime In Ago Ġ= ĠDate Utils . get Relative TimeSpan String ( this . time , ĠcurrentTime . time , ĠDate Utils . MINUTE _ IN _ M ILL IS ) ĊĠĠĠ Ġreturn Ġtime In Ago . toString () Ċ } Ċ Ċ internal Ġfun ĠContext . short Toast ( message : ĠString ) Ġ= ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ SHORT ). show () Ċ internal Ġfun ĠContext . long Toast ( message : ĠString ) Ġ= ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ LONG ). show () Ċ Ċ fun ĠMutable LiveData < UIState >. getDefault () Ġ= ĊĠĠĠ Ġthis . apply Ġ{ Ġvalue Ġ= ĠUI State . IDLE Ġ} Ċ Ċ fun ĠMutable LiveData < UIState >. set Loading () Ġ= ĊĠĠĠ Ġthis . apply Ġ{ Ġvalue Ġ= ĠUI State . LOADING Ġ} Ċ Ċ fun ĠMutable LiveData < UIState >. set Success ( message : ĠString ) Ġ= ĊĠĠĠ Ġthis . apply Ġ{ Ġvalue Ġ= ĠUI State . COMPLETED ( message ) Ġ} Ċ Ċ fun ĠMutable LiveData < UIState >. setError ( message : ĠString ) Ġ= ĊĠĠĠ Ġthis . apply Ġ{ Ġvalue Ġ= ĠUI State . ERROR ( message ) Ġ}