package Ġcom . m wp . p aw print . view Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . m wp . p aw print . R Ċ import Ġcom . m wp . p aw print . model . Custom CallBack Ċ import Ġcom . m wp . p aw print . model . Dog Post er Ċ import Ġcom . m wp . p aw print . model . User Ċ import Ġcom . google . firebase . database . Data Snapshot Ċ import Ġcom . google . firebase . database . Database Error Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . google . firebase . database . Value EventListener Ċ import Ġkotlinx . android . synt hetic . main . activity _ history .* Ċ Ċ class ĠHistory Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcurr History List Ġ: ĠMutable List < Dog Post er > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" History . kt " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ history ) ĊĠĠĠĠĠĠĠ Ġfetch History () ĊĊĠĠĠĠĠĠĠ Ġhistory RV . layout Manager Ġ= ĠLinearLayoutManager ( this @ History ) ĊĠĠĠĠĠĠĠ Ġhistory RV . adapter Ġ= ĠHistory Entry Adapter ( this @ History , Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġhistory RV . addItem Decoration ( Divider Item Decoration ( this @ History , ĠDiv ider Item Decoration . VERTICAL )) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( history Toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfetch History () Ġ{ ĊĠĠĠĠĠĠĠ Ġget History List ByID ( object Ġ: ĠCustom CallBack Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon CallBack ( value : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhistory Ġ= Ġvalue Ġas ĠList < *> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Dog By Post ID ( it . toString (), Ġobject Ġ: ĠCustom CallBack Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon CallBack ( value : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurr History List . add ( value Ġas ĠDog Post er ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" History ", Ġ" curr list Ġ$ curr History List ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory RV . adapter Ġ= ĠHistory Entry Adapter ( this @ History , Ġcurr History List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory RV . adapter !!. notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget History List ByID Ġ( callback : ĠCustom CallBack ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurr UserID Ġ= ĠFirebase Auth . getInstance (). currentUser !!. uid ĊĠĠĠĠĠĠĠ Ġval Ġdb Ref Ġ= ĠFirebase Database . getInstance (). getReference (" users ") ĊĠĠĠĠĠĠĠ Ġdb Ref . child ( curr UserID ). addListener For Single Value Event ( object Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( data Snapshot : ĠData Snapshot ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurr User Ġ= Ġdata Snapshot . getValue ( User :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhistory List Ġ= Ġcurr User . history List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on CallBack ( history List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . i ( TAG , Ġ" Found Ġ$ curr Dog ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( database Error : ĠDatabase Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGetting ĠPost Ġfailed , Ġlog Ġa Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( TAG , Ġ" load Post : on Cancelled ", Ġdatabase Error . to Exception ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Dog By Post ID Ġ( post Key Ġ: ĠString , Ġcallback : ĠCustom CallBack ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ref Ġ= ĠFirebase Database . getInstance (). getReference (" Lost Dog s ") ĊĠĠĠĠĠĠĠ Ġdb Ref . child ( post Key ). addListener For Single Value Event ( object Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( data Snapshot : ĠData Snapshot ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurr Dog Ġ= Ġdata Snapshot . getValue ( Dog Post er :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Home Screen ", Ġ" Found Ġ" Ġ+ Ġcurr Dog ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on CallBack ( curr Dog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( database Error : ĠDatabase Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGetting ĠPost Ġfailed , Ġlog Ġa Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w (" Home Screen ", Ġ" load Post : on Cancelled ", Ġdatabase Error . to Exception ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ