package Ġcom . x iph ite ch . my kt application . calculator Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . x iph ite ch . my kt application . R Ċ import Ġkotlinx . android . synt hetic . main . calculator _ top _ view . view .* Ċ Ċ class ĠCal Output View ( context : ĠContext , Ġattribute Set : ĠAttributeSet ) Ġ: ĊĠĠĠ ĠLinearLayout ( context , Ġattribute Set ) ĊĠĠĠ Ġ, ĠCal Output Interface View Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġorientation Ġ= ĠV ERT ICAL ĊĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . CENTER _ VERTICAL ĊĠĠĠĠĠĠĠ Ġ// Inf late Ġlayout ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . calculator _ top _ view , Ġthis , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" USER ĠACTIONS "> ĊĠĠĠ Ġfun Ġremove Last () Ġ{ ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . remove Last () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( item : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . add ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove All () Ġ{ ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . removeAll () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsolve () Ġ{ ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . solve () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" LI FE ĠCY CLE "> ĊĠĠĠ Ġoverride Ġfun Ġon Attached To Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To Window () ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . attach ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdetach All Views From Parent () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . detach All Views From Parent () ĊĠĠĠĠĠĠĠ ĠCal Output Presenter . detach () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// </ editor - fold > ĊĊĠĠĠ Ġ// < editor - fold Ġdesc =" INTERFACE ĠACTIONS "> ĊĠĠĠ Ġoverride Ġfun Ġset Equation ( equation : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtyped _ text . text Ġ= Ġequation ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Outcome ( outcome : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcalculated _ text . text Ġ= Ġoutcome ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// </ editor - fold > Ċ Ċ }