package Ġru . ar 2 code . demo _ app _ shared Ċ Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ import Ġru . ar 2 code . mv il ite _ core . M vi Lite Saved State Handle Initial Factory Ċ Ċ class ĠG reeting ViewModel InitialState Factory ( saved State Handle : ĠSaved State Handle ) Ġ: ĊĠĠĠ ĠM vi Lite Saved State Handle Initial Factory < G reeting Ui State >( ĊĠĠĠĠĠĠĠ Ġsaved State Handle ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetState ( saved State Handle : ĠSaved State Handle ): ĠG reeting Ui State Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg reeting Ġ= Ġsaved State Handle . get < String >( GRE ET ING _ KEY ) ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġsaved State Handle . get < String >( NAME _ KEY ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( greeting . isNull OrEmpty () Ġ|| Ġname . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG reeting Ui State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Hello ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis G reeting Edit Screen Visible Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Hello Screen Visible Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg reeting Edit Error Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Edit Error Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG reeting Ui State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg reeting , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis G reeting Edit Screen Visible Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Hello Screen Visible Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg reeting Edit Error Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Edit Error Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }