package Ġcom . github . android . lv rn . lv rn project . view . fragment . entities list . core . trash list . impl Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Search View Ċ import Ġandroidx . core . view . MenuItem Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . github . android . lv rn . lv rn project . La ver na Application Ċ import Ġcom . github . android . lv rn . lv rn project . R Ċ import Ġcom . github . android . lv rn . lv rn project . databinding . Fragment Entities List Binding Ċ import Ġcom . github . android . lv rn . lv rn project . view . activity . note detail . Note Detail Activity . Start . onStart Ċ import Ġcom . github . android . lv rn . lv rn project . view . adapter . datap ost set . impl . Trash ListAdapter Ċ import Ġcom . github . android . lv rn . lv rn project . view . fragment . entities list . core . trash list . Trash List Fragment Ċ import Ġcom . github . android . lv rn . lv rn project . view . fragment . entities list . core . trash list . Trash List Presenter Ċ import Ġcom . github . val hall al abs . la ver na . persistent . entity . Note Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠTr ash List Fragment Impl Ġ: ĠFragment (), ĠTr ash List Fragment Ġ{ ĊĊĠĠĠ Ġ@ set : Inject ĊĠĠĠ Ġvar Ġtrash List Presenter : ĠTr ash List Presenter ? Ġ= Ġnull ĊĊĠĠĠ Ġval ĠTO OL BAR _ TITLE Ġ= Ġ" Trash " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotes RecyclerView Adapter : ĠTr ash ListAdapter ĊĊĠĠĠ Ġprivate Ġvar Ġm Search View : ĠSearch View ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Menu Search : ĠMenuItem ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment Entities List Binding : ĠFragment Entities List Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Entities List Binding Ġ= ĠFragment Entities List Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠLa ver na Application . gets App Component (). inject ( this ) ĊĠĠĠĠĠĠĠ ĠsetUp Toolbar () ĊĠĠĠĠĠĠĠ Ġinit RecyclerView () ĊĠĠĠĠĠĠĠ Ġreturn Ġfragment Entities List Binding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ( trash List Presenter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrash List Presenter ?. bind View ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. unbind View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . fragment _ entities _ list , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġm Menu Search Ġ= Ġmenu . find Item ( R . id . item _ action _ search ) ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġmenu Sync Ġ= Ġmenu . find Item ( R . id . item _ action _ sync ); Ċ // ĠĠĠĠĠĠĠ Ġmenu About Ġ= Ġmenu . find Item ( R . id . item _ about ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Sort By Ġ= Ġmenu . find Item ( R . id . item _ sort _ by ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Settings Ġ= Ġmenu . find Item ( R . id . item _ settings ); ĊĠĠĠĠĠĠĠ Ġm Search View Ġ= ĠMenuItem Compat . getAction View ( m Menu Search ) Ġas ĠSearch View ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. subscribe Search View ( m Menu Search ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. dispose Pagination () ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. dispose Search () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Search Query (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Search View !!. query . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Selected Note ( note : ĠNote ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonStart ( require Context (), Ġnote ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Note Fore ver ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( require Context ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( getString ( R . string . dialog _ delete _ note _ title )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Message ( getString ( R . string . dialog _ delete _ note _ text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Positive Button ( getString ( R . string . dialog _ delete _ note _ fore ver _ text )) Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrash List Presenter !!. remove Note Fore ver ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Negative Button ( getString ( R . string . dialog _ delete _ note _ cancel _ btn )) Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotes RecyclerView Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Empty ListView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Empty State Ġ= Ġfragment Entities List Binding . tv Empty State !! ĊĠĠĠĠĠĠĠ Ġtv Empty State . text Ġ= ĠgetText ( R . string . trash _ notes _ empty _ text ) ĊĠĠĠĠĠĠĠ Ġtv Empty State . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotes RecyclerView Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ ĠLogger . d (" Recycler Ġview Ġis Ġupdated ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġswitch To Normal Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġmenu Sync . setVisible ( true ); Ċ // ĠĠĠĠĠĠĠ Ġmenu About . setVisible ( true ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Sort By . setVisible ( true ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Settings . setVisible ( true ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġswitch To Search Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġmenu Sync . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu About . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Sort By . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Settings . setVisible ( false ); Ċ Ċ // ĠĠĠĠĠĠĠ Ġmenu Sync . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu About . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Sort By . setVisible ( false ); Ċ // ĠĠĠĠĠĠĠ Ġmenu Settings . setVisible ( false ); ĊĠĠĠĠĠĠĠ Ġm Search View !!. query Hint Ġ= ĠgetString ( R . string . fragment _ all _ notes _ menu _ search _ query _ hint ) ĊĠĠĠĠĠĠĠ Ġm Search View !!. request Focus () ĊĠĠĠĠĠĠĠ Ġvar Ġbottom Underline : ĠDrawable ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Underline Ġ= Ġresources . get Drawable ( R . drawable . search _ view _ bottom _ underline , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Search View !!. background Ġ= Ġbottom Underline ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġmethod Ġwhich Ġinitializes Ġre cycler Ġview Ġwith Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView All Entities : ĠRecyclerView Ġ= Ġfragment Entities List Binding . re cyclerView All Entities ĊĠĠĠĠĠĠĠ Ġre cyclerView All Entities . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġre cyclerView All Entities . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġnotes RecyclerView Adapter Ġ= ĠTr ash ListAdapter ( this , Ġtrash List Presenter !! ) ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. setData To Adapter ( notes RecyclerView Adapter ) ĊĠĠĠĠĠĠĠ Ġre cyclerView All Entities . adapter Ġ= Ġnotes RecyclerView Adapter ĊĠĠĠĠĠĠĠ Ġtrash List Presenter ?. subscribe RecyclerView For Pagination ( re cyclerView All Entities ) ĊĠĠĠĠĠĠĠ Ġif Ġ( notes RecyclerView Adapter . item Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Empty ListView () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġmethod Ġwhich Ġsets Ġdefined Ġview Ġof Ġtoolbar ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠsetUp Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ?) !!. support ActionBar !!. show () ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ?) !!. support ActionBar !!. title Ġ= ĠTO OL BAR _ TITLE ĊĠĠĠ Ġ} Ċ }