package Ġcom . example . feature _ profile . impl Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġcom . example . core . ui . activity . Base Activity Ċ import Ġcom . example . core . ui . view binding . view Bindings Ċ import Ġcom . example . feature _ profile . impl . Profile Screen Contract . Profile Intent Ċ import Ġcom . example . feature _ profile . impl . Profile Screen Contract . Profile State Ċ import Ġcom . example . feature _ profile . impl . databinding . Activity Profile Binding Ċ import Ġcom . example . feature _ profile . impl . di . Profile Feature Component Ċ import Ġcom . example . feature _ profile _ impl . di . Profile Activity Component Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠProfile Activity Ġ: ĊĠĠĠ ĠBase Activity < Profile Activity Component , ĠProfile State , ĠProfile Presenter , ĠProfile ViewModel >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġview Binding : ĠActivity Profile Binding Ġby Ġview Bindings ( Activity Profile Binding :: inflate ) ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġpresenter : ĠProfile Presenter ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewModel Class (): ĠClass < Profile ViewModel > Ġ= ĠProfile ViewModel :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Component (): ĠProfile Activity Component Ġ= ĊĠĠĠĠĠĠĠ Ġprovide Api ( Profile Feature Component :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Profile Activity Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. activity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( component : ĠProfile Activity Component ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomponent . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġwith ( view Binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Save Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProfile Intent . Save Profile ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Ġ= Ġprofile First EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Ġ= Ġprofile Last EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Ġ= Ġprofile Second EditText . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( state : ĠProfile State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( view Binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile First EditText . setText ( state . first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Last EditText . setText ( state . last ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Second EditText . setText ( state . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }