package Ġcom . or ion . sub are esh Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . drawable . Animation Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ feedback _ activity . view .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġme . grant land . widget . Aut of it TextView Ċ import Ġnet . object h unter . exp 4 j . Expression Builder Ċ import Ġnet . object h unter . exp 4 j . operator . Operator ĊĊ Ċ var Ġfactor ial : ĠOperator Ġ= Ġobject Ġ: ĊĠĠĠ ĠOperator ( ĊĠĠĠĠĠĠĠ Ġ" !", ĊĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠ ĠPREC ED ENCE _ POWER Ġ+ Ġ 1 ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply ( var arg Ġargs : ĠDouble ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarg Ġ= Ġargs [ 0 ]. toInt () ĊĠĠĠĠĠĠĠ Ġrequire ( arg . toDouble () Ġ== Ġargs [ 0 ]) Ġ{ Ġ" Operand Ġfor Ġfactor ial Ġhas Ġto Ġbe Ġan Ġinteger " Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( arg Ġ>= Ġ 0 ) Ġ{ Ġ" The Ġoperand Ġof Ġthe Ġfactor ial Ġcan Ġnot Ġbe Ġless Ġthan Ġzero " Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. arg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ*= Ġi . toDouble () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ open Ġclass ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġvar Ġcount : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġc : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġvar ĠResult Ġ= ĠfindViewById < Aut of it TextView >( R . id . Result ) ĊĠĠĠĠĠĠĠ Ġvar ĠExpression Ġ= ĠfindViewById < Aut of it TextView >( R . id . Expression ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠExpression Builder (" 3 !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. operator ( factor ial ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate () ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠHide Ġthe Ġstatus Ġbar . ĊĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ FULL SCREEN ĊĠĠĠĠĠĠĠ Ġ// ĠRemember Ġthat Ġyou Ġshould Ġnever Ġshow Ġthe Ġaction Ġbar Ġif Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġstatus Ġbar Ġis Ġhidden , Ġso Ġhide Ġthat Ġtoo Ġif Ġnecessary . ĊĠĠĠĠĠĠĠ Ġaction Bar ?. hide () ĊĊĠĠĠĠĠĠĠ Ġvar Ġparent Ġ= ĠfindViewById < Relative Layout >( R . id . Relative ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġanimation Drawable Ġ= Ġparent . background Ġas ĠAnimation Drawable ? ĊĠĠĠĠĠĠĠ Ġanimation Drawable ?. set Enter Fade Duration ( 2 0 ) ĊĠĠĠĠĠĠĠ Ġanimation Drawable ?. set Exit Fade Duration ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġanimation Drawable ?. start () ĊĊĠĠĠĠĠĠĠ Ġone . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 1 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtwo . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 2 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthree . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 3 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfour . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 4 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfive . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 5 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsix . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 6 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġseven . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 7 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġeight . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 8 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġn ine . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 9 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġzero . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 0 ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdot . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (".", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast message () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġplus . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("+ ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġminus . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("- ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmultiply . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("* ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdivide . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("/", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġopen . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" (", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" )", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġten power . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" 1 0 ^ ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠĠĠĠĠ Ġten power . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlert dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdot . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("% ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġzero . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression ("^ ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġroot . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" c br t (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġseven . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" asin (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġeight . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" acos (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġn ine . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" atan (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfour . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" log (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfive . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" log 2 (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsix . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" log 1 0 (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġone . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" sin (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtwo . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" cos (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthree . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" tan (", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġroot . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" sqrt (", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġopen . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" !", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevaluate Expression (" ÏĢ ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġclear _ del . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠExpression . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . text Ġ= Ġstring . substring ( 0 , Ġstring . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( count Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" Long Ġpress Ġto ĠClear ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclear _ del . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġequal . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= ĠExpression Builder ( Expression . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. operator ( factor ial ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpression . evaluate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlong Result Ġ= Ġresult . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġlong Result . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġlong Result . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġresult . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Exception ", Ġ" Ġmessage Ġ: Ġ" Ġ+ Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġe . message . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġ" 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ"" Ġ+ Ġerror , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠAlert dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠDialog View Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( this ). inflate ( R . layout . activity _ feedback _ activity , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġm Builder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( Dialog View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" Feedback ") ĊĊĠĠĠĠĠĠĠ Ġval Ġm AlertDialog Ġ= Ġm Builder . show () ĊĊĠĠĠĠĠĠĠ ĠDialog View . cancel . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm AlertDialog . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠDialog View . send . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm AlertDialog . dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail Ġ= ĠDialog View . to _ email . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠDialog View . subject . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfeedback Ġ= ĠDialog View . feedback . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ////////////////////////////////// ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" mailto :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . type Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Intent . EXTRA _ EMAIL , ĠarrayOf ( email )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Intent . EXTRA _ SUBJECT , Ġsubject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Intent . EXTRA _ TEXT , Ġfeedback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent . create Chooser ( intent , Ġ" Choose ĠEmail ĠClient ... ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : Ġjava . lang . Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġe . message , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġevaluate Expression ( string : ĠString , Ġcan Clear : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠResult Ġ= ĠfindViewById < Aut of it TextView >( R . id . Result ) ĊĠĠĠĠĠĠĠ Ġval ĠExpression Ġ= ĠfindViewById < Aut of it TextView >( R . id . Expression ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Result . text . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( can Clear ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . append ( string ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . append ( Result . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpression . append ( string ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . text Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġbuilder . setMessage (" Are Ġyou Ġsure Ġto Ġexit ?") ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( true ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Negative Button (" NO ", ĠDialog Interface . OnClickListener Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Interface . cancel () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button (" Exit ", ĠDialog Interface . OnClickListener Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbuilder . set Neutral Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Rate Ġthis ĠApp ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Interface . OnClickListener Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Interface . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġalert Dialog . show () ĊĠĠĠĠĠĠĠ Ġalert Dialog . getWindow ()?. setBackground Drawable Resource ( R . color . my Color ); ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoast message () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhile Ġ( c Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Long Ġpress Ġto Ġaccess ĠAdvanced ĠFunctions ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊĊĊĊĊĊĊ ĊĊĊĊ ĊĊĊĊĊ