package Ġcom . z ey ad . rx redux . screens . navigation Ċ Ċ import Ġcom . z ey ad . rx redux . core . view model . Base ViewModel Ċ import Ġcom . z ey ad . rx redux . core . view model . Success Effect Result Ċ import Ġcom . z ey ad . rx redux . screens . detail . Navigate To Intent Ċ import Ġcom . z ey ad . rx redux . screens . list . Get Pag inated Users Intent Ċ import Ġio . reactivex . Flow able Ċ Ċ class ĠFirst VM Ġ: ĠBase ViewModel < Any , ĠAny , ĠFirst State , ĠFirst Effect >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġstate Reducer ( new Result : ĠAny , Ġcurrent State : ĠFirst State ): ĠFirst State Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( new Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> ĠFull First State ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Wu ut Ġ? ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreduce Intent sTo Results ( intent : ĠAny , Ġcurrent State : ĠFirst State ): ĠFlow able < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( intent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNavigate To Intent Ġ-> ĠFlow able . just ( Success Effect Result ( Navigate To Effect ( intent . intent ), Ġintent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGet Pag inated Users Intent Ġ-> ĠFlow able . just ( intent . last Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠFlow able . error < Any >( RuntimeException (" For ced ĠError ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ