package Ġorg . trust note . wallet . biz . msgs Ċ Ċ import Ġandroid . os . Bundle Ċ 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 . view .* Ċ import Ġorg . trust note . wallet . R Ċ import Ġorg . trust note . wallet . T App Ċ import Ġorg . trust note . wallet . biz . Activity Main Ċ import Ġorg . trust note . wallet . u iframe work . Activity Base Ċ import Ġorg . trust note . wallet . u iframe work . Fragment Base For HomePage Ċ Ċ class ĠFragment Msgs Contacts List Ġ: ĠFragment Base For HomePage () Ġ{ ĊĊĠĠĠ Ġval Ġmodel : ĠMessage Model Ġ= ĠMessage Model . instance ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . f _ msg _ home ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġlateinit Ġvar Ġm Swipe Refresh Layout : ĠSw ipe Refresh Layout ĊĠĠĠ Ġlateinit Ġvar Ġtop Shadow : ĠView ĊĠĠĠ Ġoverride Ġfun Ġinit Fragment ( view : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġis Bottom Layer UI Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġsuper . init Fragment ( view ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġm Root View . findViewById ( R . id . list ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout Ġ= Ġm Root View . findViewById ( R . id . swiper ef resh ) ĊĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . set Progress View Offset ( true , Ġ- 6 0 , Ġ 4 0 ) ĊĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . setOn Refresh Listener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . refresh Home List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmodel . refresh Home List () ĊĊĠĠĠĠĠĠĠ Ġic Quick Action Ġ= Ġm Toolbar . findViewById ( R . id . ic _ quick _ action _ container ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ic Quick Action Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġic Quick Action !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġic Quick Action !!. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠActivity Main ). show Popup menu { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Scan Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Unknown Scan Res ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġtop Shadow Ġ= ĠfindViewById ( R . id . top _ shadow ) ĊĠĠĠĠĠĠĠ Ġtop Shadow . alpha Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġre cyclerView . add On Scroll 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 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= ĠMath . abs ( re cyclerView !!. compute Vertical Scroll Offset ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( y Ġ> Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Shadow . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Shadow . alpha Ġ= Ġ( y / 2 f )/ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġlistener ( model . m Messages Event Center ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Title (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity . getString ( R . string . messages _ contacts _ title ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update UI () ĊĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠContact s Adapter ( model . latest Home List ) ĊĊĠĠĠĠĠĠĠ Ġval Ġshadow Ġ= ĠfindViewById < View >( R . id . top _ shadow ) ĊĠĠĠĠĠĠĠ Ġif Ġ( model . latest Home List . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshadow . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshadow . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġa . item ClickListener Ġ= Ġ{ Ġ_, Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat With Friend ( item . device Address , Ġactivity Ġas ĠActivity Base ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġa ĊĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . is Refresh ing Ġ= Ġmodel . is Refresh ing () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinf late Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// in flater . inflate ( R . menu . main _ action , Ġmenu ) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ