package Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . ui Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . R Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . firestore . Fire store Data Base Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Ledger Define Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Ledger Share Pref M anger Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Ledger Utils Ċ import Ġcom . data m ange ment . dev ast 0 0 7 . b ah ik h ata . utils . Sql DB File Ċ import Ġcom . google . android . gms . tasks . On Complete Listener Ċ import Ġcom . google . android . gms . tasks . On Failure Listener Ċ import Ġcom . google . android . gms . tasks . On Success Listener Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . google . firebase . firestore .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ add _ bank _ account .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ add _ bank _ account . btn _ save Ċ import Ġkotlinx . android . synt hetic . main . activity _ add _ bank _ account . coordinator Layout ĊĊ Ċ class ĠAdd Bank Account Activity Ġ: ĠAppCompatActivity (), ĠView . OnClickListener , ĊĠĠĠ ĠLed ger Utils . Companion . Status List ner Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġm Account Add Type : ĠInt Ġ= ĠLed ger Define . BANK _ ACCOUNT _ ADD ĊĠĠĠ Ġprivate Ġvar Ġm La unched From : ĠInt Ġ= Ġ- 1 ĊĠĠĠ Ġval ĠTAG Ġ= Ġ" Add Bank Account Activity " ĊĠĠĠ Ġval ĠmContext Ġ= Ġthis ĊĠĠĠ Ġval Ġm DB Ġ= ĠFirebase Fire store . getInstance () ĊĠĠĠ Ġvar Ġm Company ID : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġm AccountID : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ add _ bank _ account ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. setTitle ( R . string . add _ bank _ account ) ĊĠĠĠĠĠĠĠ Ġbtn _ save . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġm Company ID Ġ= ĠLed ger Share Pref M anger ( mContext ). get Company ID () ĊĊĠĠĠĠĠĠĠ Ġm Account Add Type Ġ= Ġintent . getInt Extra ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Define . BANK _ ACCOUNT _ ADD _ TYPE , Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġm La unched From Ġ= Ġintent . getInt Extra ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Define . LA UNCH ED _ FROM , Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Account Add Type Ġ== ĠLed ger Define . BANK _ ACCOUNT _ MO DIFY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm AccountID Ġ= Ġintent . getString Extra ( Ledger Define . BANK _ ACCOUNT _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Account Details () ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch AccountID () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠfindViewById < EditText >( R . id . et _ bank _ account _ number ). add TextChanged Listener ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( cs : ĠCharSequence , Ġarg 1 : ĠInt , Ġarg 2 : ĠInt , Ġarg 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( arg 0 : ĠCharSequence , Ġarg 1 : ĠInt , Ġarg 2 : ĠInt , Ġarg 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( arg 0 : ĠEdit able ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Ġ= Ġarg 0 . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Ġafter TextChanged ĠError Ġgetting Ġdocuments : Ġ$ account Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isEmpty ( account )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ number . setTextColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠFire store Data Base (). db ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . collection ( Ledger Define . COMP AN IES _ SL ASH Ġ+ Ġm Company ID Ġ+ ĠLed ger Define . SL ASH _ BANK _ ACCOUNT S ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where EqualTo ( Ledger Define . BANK _ ACCOUNT _ NUMBER , Ġaccount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Complete Listener ( On Complete Listener < Query Snapshot > Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . result !!. size () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ number . setTextColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Duplicate ĠAccount ĠNumber Ġ$ account ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Error Ġgetting Ġdocuments : Ġ", Ġtask . exception ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . error _ 0 1 , ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġif Ġ( m La unched From Ġ== ĠLed ger Define . LA UNCH ED _ FROM _ VIEW _ LIST _ ACTIVITY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Intent Ġ= ĠIntent ( mContext , ĠBank Account View Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Intent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TOP ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmContext !!. startActivity ( new Intent ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Account Details () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠFire store Data Base (). db ĊĠĠĠĠĠĠĠ Ġdb . collection ( Ledger Define . COMP AN IES _ SL ASH Ġ+ Ġm Company ID Ġ+ ĠLed ger Define . SL ASH _ BANK _ ACCOUNT S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where EqualTo ( Ledger Define . BANK _ ACCOUNT _ ID , Ġm AccountID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Complete Listener ( On Complete Listener < Query Snapshot > Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( document Ġin Ġtask . result !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġdocument . id Ġ+ Ġ" Ġ=> Ġ" Ġ+ Ġdocument . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Account Info ( document ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Error Ġgetting Ġdocuments : Ġ", Ġtask . exception ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . error _ 0 1 , ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Account Info ( document : ĠQuery Document Snapshot ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( document Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ bank _ account _ id . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Update ĠAccount Ġ: Ġ" Ġ+ Ġdocument . get ( Ledger Define . BANK _ ACCOUNT _ ID ) Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ pay ee _ name . setText ( document . get ( Ledger Define . PAY EE _ NAME ) Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ number . setText ( document . get ( Ledger Define . BANK _ ACCOUNT _ NUMBER ) Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ if sc _ code . setText ( document . get ( Ledger Define . IF SC _ CODE ) Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ branch _ name . setText ( document . get ( Ledger Define . BANK _ ACCOUNT _ BRANCH _ NAME ) Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ remarks . setText ( document . get ( Ledger Define . RE MARK ) Ġas ĠString ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view !!. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ save Ġ-> Ġsave Accounts () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġval ĠBASE _ ACCOUNT _ ID : ĠLong Ġ= Ġ 1 0 0 ĊĊĠĠĠ Ġprivate Ġfun Ġfetch AccountID () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġdoc Ref Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm DB . collection ( Ledger Define . COMP AN IES _ SL ASH Ġ+ Ġm Company ID Ġ+ ĠLed ger Define . SL ASH _ BANK _ ACCOUNT S ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy ( Ledger Define . BANK _ ACCOUNT _ ID , ĠQuery . Direction . DESC ENDING ). limit ( 1 ) ĊĠĠĠĠĠĠĠ Ġdoc Ref . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener ( On Success Listener < Query Snapshot > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtemp Id : ĠLong Ġ= Ġ 9 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . documents . count () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . documents . get ( 0 ). get ( Ledger Define . BANK _ ACCOUNT _ ID ). toString (). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp Id !! Ġ>= ĠBASE _ ACCOUNT _ ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm AccountID Ġ= Ġ"" Ġ+ Ġ( temp Id Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm AccountID Ġ= Ġ"" Ġ+ ĠBASE _ ACCOUNT _ ID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ bank _ account _ id . setText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . new _ user _ id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm AccountID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener ( On Failure Listener Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Error Ġwriting Ġdocument ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Accounts () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġaccount Number Ġ= Ġet _ bank _ account _ number . text . toString () ĊĠĠĠĠĠĠĠ Ġvar Ġpay ee Name Ġ= Ġet _ bank _ account _ pay ee _ name . text . toString () ĊĠĠĠĠĠĠĠ Ġvar Ġif sc Code Ġ= Ġet _ bank _ account _ if sc _ code . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġbranch Ġ= Ġet _ bank _ account _ branch _ name . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġre marks Ġ= Ġet _ bank _ account _ remarks . text . toString () ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( isEmpty ( m AccountID )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . ac cout _ id _ is _ empty , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( isEmpty ( account Number )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ bank _ account _ number . error Ġ= ĠgetString ( R . string . account _ no _ empty ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . account _ no _ empty , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( isEmpty ( pay ee Name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . pay ee _ name _ is _ empty , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( if sc Code . length Ġ!= Ġ 1 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . give _ bank _ account _ if sc _ code , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpay ee Name Ġ= Ġpay ee Name . toUpperCase (). trim () ĊĠĠĠĠĠĠĠ Ġif sc Code Ġ= Ġif sc Code . toUpperCase (). trim () ĊĠĠĠĠĠĠĠ Ġaccount Number Ġ= Ġaccount Number . toUpperCase (). trim () ĊĊĠĠĠĠĠĠĠ Ġbtn _ save . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar Ġaccounts Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm DB . collection ( Ledger Define . COMP AN IES _ SL ASH Ġ+ Ġm Company ID Ġ+ ĠLed ger Define . SL ASH _ BANK _ ACCOUNT S ) ĊĠĠĠĠĠĠĠ Ġvar Ġdoc Ref Nor Ġ= Ġaccounts . document ( m AccountID !! ) ĊĠĠĠĠĠĠĠ Ġ// Ġ[ START Ġset _ document ] ĊĠĠĠĠĠĠĠ Ġval Ġaccount Map Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . BANK _ ACCOUNT _ ID ] Ġ= Ġm AccountID !! ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . BANK _ ACCOUNT _ NUMBER ] Ġ= Ġaccount Number ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . PAY EE _ NAME ] Ġ= Ġpay ee Name ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . IF SC _ CODE ] Ġ= Ġif sc Code ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . BANK _ ACCOUNT _ BRANCH _ NAME ] Ġ= Ġbranch ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . RE MARK ] Ġ= Ġre marks ĊĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . TIME _ STAMP ] Ġ= ĠField Value . server Timestamp () ĊĊĠĠĠĠĠĠĠ ĠLed ger Utils . set status List ner ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( m Account Add Type Ġ== ĠLed ger Define . BANK _ ACCOUNT _ MO DIFY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Utils . setData To Fire store ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . BANK _ ACCOUNT _ ID ] !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSql DB File . CONTENT _ URI _ TABLE _ BANK _ ACCOUNT S , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Define . UPDATE _ DATA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdoc Ref Nor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Map ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Utils . setData To Fire store ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Map [ Ledger Define . BANK _ ACCOUNT _ ID ] !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSql DB File . CONTENT _ URI _ TABLE _ BANK _ ACCOUNT S , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLed ger Define . SET _ DATA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdoc Ref Nor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Map ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Sn ackBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsn ackBar Ġ= ĠSn ackbar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. make ( coordinator Layout , ĠR . string . saved _ successfully , ĠSn ackbar . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( R . string . add _ more ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsn ackBar . setAction TextColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġval Ġsb View Ġ= Ġsn ackBar . view ĊĠĠĠĠĠĠĠ Ġsb View . set BackgroundColor ( Color . RED ) ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġsb View . findViewById < TextView >( com . google . android . material . R . id . sn ackbar _ text ) ĊĠĠĠĠĠĠĠ ĠtextView . setTextColor ( Color . parse Color ("# FF 0 B 3 E 0 D ")) ĊĠĠĠĠĠĠĠ Ġsn ackBar . show () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠisEmpty ( str : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠText Utils . isEmpty ( str ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonComplete ( status : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Account Add Type Ġ== ĠLed ger Define . BANK _ ACCOUNT _ MO DIFY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ bank _ account _ id . append (" ĠUpdated ĠSuccessfully Ġ!! ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn _ save . setText ( R . string . update _ done ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ bank _ account _ id . append (" ĠDone Ġ!! "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Sn ackBar () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Error Ġwriting Ġdocument " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , Ġ" Error Ġwriting Ġdocument ", ĠToast . LENGTH _ LONG ). show () ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} Ċ }