package Ġcom . ra ion . ra ion academy 2 0 2 1 Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ra ion . ra ion academy 2 0 2 1 . databinding . Activity Main Binding Ċ Ċ val ĠKEY _ KE UNT UN GAN Ġ= Ġ" ke unt ungan " Ċ val ĠKEY _ TER J UAL Ġ= Ġ" ter j ual " Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġke unt ungan Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġter j ual Ġ= Ġ 0 ĊĊĠĠĠ Ġ/* private Ġlateinit Ġvar Ġc ake Button Ġ: ĠImage Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠtextView Ter j ual Ġ: ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠtextView Ke unt ungan Ġ: ĠTextView */ ĊĊĠĠĠ Ġprivate Ġvar Ġk ue Se kar ang Ġ= ĠDummy . getAll D ess erts ()[ 0 ] ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmain Binding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġmain Binding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( main Binding . root ) ĊĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" onCreate Ġter p angg il ") Ċ Ċ /* ĠĠĠĠĠĠĠ Ġc ake Button Ġ= ĠfindViewById ( R . id . ib _ cup cake ) ĊĠĠĠĠĠĠĠ ĠtextView Ter j ual Ġ= ĠfindViewById ( R . id . tv _ amount _ sell ) ĊĠĠĠĠĠĠĠ ĠtextView Ke unt ungan Ġ= ĠfindViewById ( R . id . tv _ re venue ) */ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġke unt ungan L ama Ġ= ĠsavedInstanceState . getInt ( KEY _ KE UNT UN GAN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġter j ual L ama Ġ= ĠsavedInstanceState . getInt ( KEY _ TER J UAL ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġke unt ungan Ġ= Ġke unt ungan L ama ĊĠĠĠĠĠĠĠĠĠĠĠ Ġter j ual Ġ= Ġter j ual L ama ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmain Binding . tv Amount Sell . text Ġ= Ġter j ual . toString () ĊĠĠĠĠĠĠĠ Ġmain Binding . tv Revenue . text Ġ= Ġke unt ungan . toString () ĊĊĠĠĠĠĠĠĠ Ġmain Binding . ib Cup cake . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Cake ĠButton ", Ġ" T omb ol Ġter click ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon D ess ert Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġuser Ġnavig ates Ġaway Ġfrom Ġthe Ġapp Ġbut Ġmight Ġcome Ġback ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout State . put Int ( KEY _ KE UNT UN GAN , Ġke unt ungan ) ĊĠĠĠĠĠĠĠ Ġout State . put Int ( KEY _ TER J UAL , Ġter j ual ) ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle : Ġ", Ġ" on Save InstanceState ĠCalled ") ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon D ess ert Clicked () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠUpdate Ġthe Ġscore ĊĠĠĠĠĠĠĠ Ġke unt ungan Ġ+= Ġ 5 ĊĠĠĠĠĠĠĠ Ġter j ual ++ ĊĊĠĠĠĠĠĠĠ Ġmain Binding . tv Amount Sell . text Ġ= Ġter j ual . toString () ĊĠĠĠĠĠĠĠ Ġmain Binding . tv Revenue . text Ġ= ĠString . format ("$ % d ", Ġke unt ungan ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġthe Ġnext Ġde ssert ĊĠĠĠĠĠĠĠ Ġshow Current D ess ert () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Current D ess ert () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnew D ess ert Ġ= ĠDummy . getAll D ess erts ()[ 0 ] ĊĠĠĠĠĠĠĠ Ġfor Ġ( de ssert Ġin ĠDummy . getAll D ess erts ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ter j ual Ġ>= Ġde ssert . minimum Ter j ual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew D ess ert Ġ= Ġde ssert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġlist Ġof Ġde ssert s Ġis Ġsorted Ġby Ġstart Production Amount . ĠAs Ġyou Ġsell Ġmore Ġde ssert s , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġyou 'll Ġstart Ġproducing Ġmore Ġexpensive Ġde ssert s Ġas Ġdetermined Ġby Ġstart Production Amount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWe Ġknow Ġto Ġbreak Ġas Ġsoon Ġas Ġwe Ġsee Ġa Ġde ssert Ġwho 's Ġ" start Production Amount " Ġis Ġgreater ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthan Ġthe Ġamount Ġsold . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġthe Ġnew Ġde ssert Ġis Ġactually Ġdifferent Ġthan Ġthe Ġcurrent Ġde ssert , Ġupdate Ġthe Ġimage ĊĠĠĠĠĠĠĠ Ġif Ġ( new D ess ert Ġ!= Ġk ue Se kar ang ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġk ue Se kar ang Ġ= Ġnew D ess ert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Binding . ib Cup cake . setImage Resource ( new D ess ert . image Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" onStart Ġter p angg il ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" on Resume Ġter p angg il ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" on Pause Ġter p angg il ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" on Stop Ġter p angg il ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠLog . i (" Lifecycle :", Ġ" on Destroy Ġter p angg il ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . de ssert _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . list _ menu Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ MainActivity , ĠList Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }