package Ġcom . kick starter . view models . project page Ċ Ċ import Ġandroidx . annotation . NonNull Ċ import Ġcom . kick starter . libs . Environment Ċ import Ġcom . kick starter . libs . Fragment ViewModel Ċ import Ġcom . kick starter . libs . utils . Object Utils Ċ import Ġcom . kick starter . ui . data . Project Data Ċ import Ġcom . kick starter . ui . fragments . project page . Project Overview Fragment Ċ import Ġrx . subjects . Behavior Subject Ċ Ċ class ĠProject Campaign ViewModel Ġ{ ĊĠĠĠ Ġinterface ĠInputs Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĠConfigure Ġwith Ġcurrent Ġ[ Project Data ]. Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġconfigure With ( project Data : ĠProject Data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOutputs ĊĊĠĠĠ Ġclass ĠViewModel (@ NonNull Ġval Ġenvironment : ĠEnvironment ) Ġ: ĠFragment ViewModel < Project Overview Fragment >( environment ), ĠInputs , ĠOutputs Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinputs : ĠInputs Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġval Ġoutputs : ĠOutputs Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproject Data Input Ġ= ĠBehavior Subject . create < Project Data >() ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġproject Data Input ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . project () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĠObject Utils . isNotNull ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġrequire NotNull ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfigure With ( project Data : ĠProject Data ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . project Data Input . onNext ( project Data ) ĊĠĠĠ Ġ} Ċ } Ċ