package Ġbr . uf pe . cin . if 7 1 0 . calcul adora Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* ĊĊ Ċ class ĠMainActivity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ"" Ġ// ĠString Ġus ada Ġpara Ġpass ar Ġo Ġvalor Ġinser ido Ġpara Ġo Ġtext _ calc Ġou Ġtext _ info ĊĊĠĠĠĠĠĠĠ Ġ// aba ixo Ġest Ã£o Ġtodas Ġas Ġdecl ara Ã§Ãµes Ġdos Ġbot Ãµes Ġpara Ġinser ir Ġinform aÃ§Ã£o Ġno Ġedit Text Ġcom Ġid Ġtext _ calc ĊĠĠĠĠĠĠĠ Ġbtn _ 0 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 1 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 2 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 2 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Add . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" +" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 3 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 3 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 4 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 5 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 6 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 6 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 7 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 7 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 8 . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 8 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ 9 . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ" 9 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Subtract . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"-" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Divide . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"/" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Dot . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ LP aren . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"(" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ RP aren . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ")" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Power . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"^ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Multiply . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ+ Ġ"*" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn _ Clear . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ info . text Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ calc . setText ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Com o Ġusar Ġa ĠfunÃ§Ã£o : ĊĠĠĠĠĠĠĠ Ġ// Ġeval (" 2 + 2 ") Ġ== Ġ 4 . 0 ĊĠĠĠĠĠĠĠ Ġ// Ġeval (" 2 + 3 * 4 ") Ġ= Ġ 1 4 . 0 ĊĠĠĠĠĠĠĠ Ġ// Ġeval ("( 2 + 3 )* 4 ") Ġ= Ġ 2 0 . 0 ĊĠĠĠĠĠĠĠ Ġ// Font e : Ġhttps :// stackoverflow . com / a / 2 6 2 2 7 9 4 7 ĊĠĠĠĠĠĠĠ Ġfun Ġeval ( str : ĠString ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠAny () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpos Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġch : ĠChar Ġ= Ġ' Ġ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġnext Char () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġstr . length ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch Ġ= Ġif Ġ(( ++ pos Ġ< Ġsize )) Ġstr . get ( pos ) Ġelse Ġ(- 1 ). to Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġeat ( char To E at : ĠChar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( ch Ġ== Ġ' Ġ') Ġnext Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ch Ġ== Ġchar To E at ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparse (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġparse Expression () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pos Ġ< Ġstr . length ) Ġthrow ĠRuntimeException (" Car act ere Ġin es per ado : Ġ" Ġ+ Ġch ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGram mar : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġexpression Ġ= Ġterm Ġ| Ġexpression Ġ` + ` Ġterm Ġ| Ġexpression Ġ`- ` Ġterm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġterm Ġ= Ġfactor Ġ| Ġterm Ġ` *` Ġfactor Ġ| Ġterm Ġ`/ ` Ġfactor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfactor Ġ= Ġ` + ` Ġfactor Ġ| Ġ`- ` Ġfactor Ġ| Ġ` (` Ġexpression Ġ` )` ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ| Ġnumber Ġ| Ġfunction Name Ġfactor Ġ| Ġfactor Ġ` ^ ` Ġfactor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparse Expression (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġx Ġ= Ġparse Term () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat ('+ ')) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ+= Ġparse Term () Ġ// Ġa di Ã§Ã£o ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( eat ('- ')) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ-= Ġparse Term () Ġ// Ġsub tra Ã§Ã£o ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparse Term (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġx Ġ= Ġparse Factor () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat ('* ')) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ*= Ġparse Factor () Ġ// Ġmultip lic aÃ§Ã£o ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( eat ('/ ')) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ/= Ġparse Factor () Ġ// Ġdiv is Ã£o ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġparse Factor (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat ('+ ')) Ġreturn Ġparse Factor () Ġ// Ġ+ Ġun Ã¡rio ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat ('- ')) Ġreturn Ġ- parse Factor () Ġ// Ġ- Ġun Ã¡rio ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġx : ĠDouble ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Pos Ġ= Ġthis . pos ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat (' (' )) Ġ{ Ġ// Ġpar Ãªn te ses ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġparse Expression () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeat (' )') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(( ch Ġin Ġ' 0 ' .. ' 9 ') Ġ|| Ġch Ġ== Ġ'.') Ġ{ Ġ// Ġn Ãº mer os ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ(( ch Ġin Ġ' 0 ' .. ' 9 ') Ġ|| Ġch Ġ== Ġ'.') Ġnext Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġjava . lang . Double . parseDouble ( str . substring ( start Pos , Ġthis . pos )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ch Ġin Ġ' a ' .. ' z ') Ġ{ Ġ// Ġfun Ã§Ãµes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( ch Ġin Ġ' a ' .. ' z ') Ġnext Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfunc Ġ= Ġstr . substring ( start Pos , Ġthis . pos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġparse Factor () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( func Ġ== Ġ" sqrt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= ĠMath . sqrt ( x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( func Ġ== Ġ" sin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= ĠMath . sin ( Math . to Radians ( x )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( func Ġ== Ġ" cos ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= ĠMath . cos ( Math . to Radians ( x )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( func Ġ== Ġ" tan ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= ĠMath . tan ( Math . to Radians ( x )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Fun Ã§Ã£o Ġdes con he c ida : Ġ" Ġ+ Ġfunc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Car act ere Ġin es per ado : Ġ" Ġ+ Ġch . to Char ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eat (' ^ ')) Ġx Ġ= ĠMath . pow ( x , Ġparse Factor ()) Ġ// Ġpot Ãªncia ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. parse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// t enta Ġaval iar Ġa Ġexpress Ã£o , Ġcaso Ġo cor ra ĠRuntimeException Ġum Ġtoast ĠÃ© Ġdesp ar ado Ġcom Ġa Ġmens agem Ġ" Express Ã£o ĠInv Ã¡l ida " ĊĠĠĠĠĠĠĠ Ġbtn _ Equal . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġeval ( result ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ info . text Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠRuntimeException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Express Ã£o ĠInv Ã¡l ida ", Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// sal va Ġos Ġvalores Ġde Ġtext _ info Ġe Ġtext _ calc Ġem Ġout State Ġcom Ġid Â ´ s Ġtext Info Ġe Ġtext Calc Ġrespect iv amente Ġpara Ġcaso Ġa cont e Ã§a Ġalg uma ĊĠĠĠ Ġ// Ġmud an Ã§a Ġde ĠconfiguraÃ§Ã£o ĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State ?. putString (" text Info ", Ġtext _ info . text . toString ()) ĊĠĠĠĠĠĠĠ Ġout State ?. putString (" text Calc ", Ġtext _ calc . text . toString ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// rec uper a Ġos Ġvalores Ġsal v os ĊĠĠĠ Ġoverride Ġfun Ġon Restore InstanceState ( in State : Bundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( in State ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtexto info Ġ= Ġin State . getString (" text Info ") ĊĠĠĠĠĠĠĠ Ġval Ġtext ocal c Ġ= Ġin State . getString (" text Calc ") ĊĠĠĠĠĠĠĠ Ġtext _ calc . setText ( text ocal c ) ĊĠĠĠĠĠĠĠ Ġtext _ info . text Ġ= Ġtexto info . toString () ĊĠĠĠ Ġ} Ċ } Ċ