package Ġdu . duc s . thought board Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . core . content . Content Provider Compat . require Context Ċ import Ġcom . google . android . material . dialog . Material AlertDialog Builder Ċ import Ġcom . google . android . material . text field . TextInput EditText Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġdu . duc s . thought board . databinding . Activity New Message Binding ĊĊ Ċ class ĠNew Message Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġ: ĠNew Message ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity New Message Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity New Message Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġ// to Ġset Ġback Ġbutton Ġon Ġleft Ġin ĠTool Ġbar ĊĠĠĠĠĠĠĠ Ġif Ġ( support ActionBar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Title Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Home As Up Indicator ( R . drawable . ic _ drawable _ back ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar !!. title Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ) Ġ: ĠBoolean { ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ: ĠMenu Inflater Ġ= Ġmenu Inflater ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . menu _ new _ message , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// onClick Ġfor Ġback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Back () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// onClick Ġfor Ġsend ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . send Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( binding . title EditText . text . toString () Ġ!= Ġ"" Ġ&& Ġbinding . new Message EditText . text . toString () Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Send Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonClick Send Dialog () Ġ{ ĊĠĠĠĠĠĠĠ ĠMaterial AlertDialog Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" Are Ġyou Ġsure , Ġyou Ġwant Ġto Ġsend Ġmessage Ġ? ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" Yes ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_, _ Ġ-> ĠsendMessage () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ ĠsendMessage () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġbinding . title EditText . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġbinding . new Message EditText . text . toString () ĊĠĠĠĠĠĠĠ ĠviewModel . sendMessage ( title , message ) ĊĠĠĠĠĠĠĠ Ġnavigate Back () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ 0 4 - 0 1 - 2 0 2 2 ĠImplement Ġexplicit Ġintent Ġto Ġgo Ġback Ġto ĠHome Screen ĊĠĠĠ Ġ} ĊĊ Ċ }