package Ġorg . p anta . miss key _ for _ android _ v 2 . view _ presenter . notification Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . widget . Swipe Refresh Layout Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . fragment _ notification .* Ċ import Ġorg . p anta . miss key _ for _ android _ v 2 . R Ċ import Ġorg . p anta . miss key _ for _ android _ v 2 . adapter . Notification Adapter Ċ import Ġorg . p anta . miss key _ for _ android _ v 2 . entity . Connection Property Ċ import Ġorg . p anta . miss key _ for _ android _ v 2 . interfaces . IO peration Adapter Ċ import Ġorg . p anta . miss key _ for _ android _ v 2 . view _ data . Notification ViewData Ċ Ċ class ĠNotification Fragment Ġ: ĠFragment (), ĠNotification Contract . View { ĊĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġm Presenter : ĠNotification Contract . Presenter ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm LayoutManager : ĠLinearLayoutManager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotification Adapter : ĠI Operation Adapter < Notification ViewData > ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCONNECTION _ INFO Ġ= Ġ" Notification Fragment Connection Info " ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( info : ĠConnection Property ): ĠNotification Fragment { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠNotification Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Serializable ( CONNECTION _ INFO , Ġinfo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġvar Ġconnection Info : ĠConnection Property ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġconnection Info Ġ= Ġarguments ?. get Serializable ( CONNECTION _ INFO ) Ġas ĠConnection Property ĊĊĠĠĠĠĠĠĠ Ġm Presenter Ġ= ĠNotification Presenter ( this , Ġconnection Info !! ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ notification , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġm LayoutManager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġm Presenter . init Notification () ĊĠĠĠĠĠĠĠ Ġrefresh . setOn Refresh Listener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . getNew Notification () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Refresh ing () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh ?. is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Old Notification ( list : ĠList < Notification ViewData >) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Adapter . addAll Last ( list ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Refresh ing () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow New Notification ( list : ĠList < Notification ViewData >) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Adapter . addAll First ( list ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Refresh ing () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . mark All As Read () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Init Notification ( list : ĠList < Notification ViewData >) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread { ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification _ view ?. layout Manager Ġ= Ġm LayoutManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠNotification Adapter ( list ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification _ view ?. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification _ view ?. add On Scroll Listener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . mark All As Read () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Refresh ing () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( error Msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġerror Msg , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlistener Ġ= Ġobject Ġ: ĠRecyclerView . On Scroll Listener (){ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Sc rolled ( re cyclerView : ĠRecyclerView , Ġdx : ĠInt , Ġdy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Sc rolled ( re cyclerView , Ġdx , Ġdy ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġ! Ġre cyclerView . can Scroll Vert ically (- 1 )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħĪ éł Ń ãģ« æĿ¥ ãģŁ åł´åĲĪ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Timeline Fragment ", Ġ" åħĪ éł Ń ãģ« æĿ¥ ãģŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġ! Ġre cyclerView . can Scroll Vert ically ( 1 )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æľĢ å¾Į ãģ« æĿ¥ ãģŁ åł´åĲĪ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh . isEnabled Ġ= Ġfalse ĠĠ Ġ// stop Refresh ing éĸ¢æķ° ãĤĴ è¨Ń ãģĳ ãģ¦ãģĦãĤĭ ãģĮãģĤ ãģĪ ãģ¦ ãģĵãģ® å½¢ ãģ« ãģĹãģ¦ãģĦãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . get Old Notification () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }