package Ġbr . edu . if b . android Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ListView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . firebase . Firebase App Ċ import Ġcom . google . firebase . database .* ĊĊ Ċ class ĠP es quis a Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġvar Ġed t Text o Da Pes quis a : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġlst Pes quis a : ĠListView ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġfirebase Database : ĠFirebase Database ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdatabase Reference : ĠDatabase Reference ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġlista De Cur sos : ĠArrayList < Cur so > Ġ= ĠArrayList () ĊĠĠĠ Ġvar Ġarray Adapter Cur so : ĠArray Adapter < Cur so >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ pes quis a ) ĊĊĠĠĠĠĠĠĠ Ġed t Text o Da Pes quis a Ġ= ĠfindViewById ( R . id . ed t Text o Da Pes quis a ) ĊĠĠĠĠĠĠĠ Ġlst Pes quis a Ġ= ĠfindViewById ( R . id . lst Pes quis a ) ĊĊĠĠĠĠĠĠĠ Ġinicial izar B anco De Dados () ĊĠĠĠĠĠĠĠ ĠonChange Ed t Text o Da Pes quis a () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinicial izar B anco De Dados () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// In icial iz ando Ġo Ġapp ĠFirebase ĊĠĠĠĠĠĠĠ ĠFirebase App . initialize App ( this ) ĊĠĠĠĠĠĠĠ Ġ// Rec uper ando Ġuma Ġinst Ã¢ ncia Ġdo ĠFirebase Database ĊĠĠĠĠĠĠĠ Ġfirebase Database Ġ= ĠFirebase Database . getInstance () ĊĠĠĠĠĠĠĠ Ġ// Pass ando Ġa Ġrefer Ãªncia Ġda Ġinst Ã¢ ncia Ġpara Ġo ĠDatabase Reference ĊĠĠĠĠĠĠĠ Ġdatabase Reference Ġ= Ġfirebase Database !!. reference ĊĠĠĠĠĠĠĠ Ġ// Perm ite Ġle it ura Ġe Ġesc rit a Ġno ĠFirebase Ġe Ġno Ġcel ular Ċ // ĠĠĠĠĠĠĠ Ġfirebase Database . set Persistence Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonChange Ed t Text o Da Pes quis a () Ġ{ ĊĠĠĠĠĠĠĠ Ġed t Text o Da Pes quis a ?. add TextChanged Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( p 0 : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtexto Ġ= Ġed t Text o Da Pes quis a !!. text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* M Ã© todo Ġa Ġser Ġcri ado */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpes quis ar Text o ( texto ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpes quis ar Text o ( texto : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery : ĠQuery Ġ= Ġif Ġ( texto Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference !!. child (" Cur so "). orderBy Child (" desc ricao ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Reference !!. child (" Cur so "). orderBy Child (" desc ricao ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start At ( texto ). end At ( texto Ġ+ Ġ"\ uf 8 ff ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlista De Cur sos . clear () ĊĠĠĠĠĠĠĠ Ġquery . add Value EventListener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( error : ĠDatabase Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( snapshot : ĠData Snapshot ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlista De Cur sos . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsnapshot . children . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcur so Ġ= Ġit . getValue ( Cur so :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( curso Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlista De Cur sos . add ( curso ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray Adapter Cur so Ġ= ĠArray Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Pes quis a Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . layout . simple _ list _ item _ 1 , Ġlista De Cur sos ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlst Pes quis a !!. adapter Ġ= Ġarray Adapter Cur so ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġpes quis ar Text o ("") ĊĠĠĠ Ġ} Ċ } Ċ