package Ġcom . blank j . util code . pkg . feature . messenger Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . blank j . common . Common Title Activity Ċ import Ġcom . blank j . util code . pkg . R Ċ import Ġcom . blank j . util code . util . Messenger Utils Ċ import Ġcom . blank j . util code . util . Snackbar Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ messenger _ remote .* Ċ Ċ /** Ċ Ġ* Ġ``` Ċ Ġ* Ġauthor : ĠBl ank j Ċ Ġ* Ġblog Ġ Ġ: Ġhttp :// blank j . com Ċ Ġ* Ġtime Ġ Ġ: Ġ 2 0 1 9 / 0 3 / 1 2 Ċ Ġ* Ġdesc Ġ Ġ: Ġdemo Ġabout ĠMess enger Utils Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ class ĠMess enger Remote Activity Ġ: ĠCommon Title Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMESS EN GER _ KEY Ġ= Ġ" Messenger Remote Activity " ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( context , ĠMess enger Remote Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( starter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠB UNDLE Ġ= ĠBundle () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB UNDLE . putString ( MESS EN GER _ KEY , Ġ" Messenger Remote Activity ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Title (): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetString ( R . string . demo _ messenger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data ( bundle : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Layout (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ messenger _ remote ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( savedInstanceState : ĠBundle ?, Ġcontent View : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġapply De bounc ing ClickListener ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess enger Register Remote Client , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess enger Unregister Remote Client , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess enger Remote Post 2 Self Client Btn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess enger Remote Post 2 Main Client Btn ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo Business () Ġ{ ĊĠĠĠĠĠĠĠ ĠMess enger Utils . subscribe ( MESS EN GER _ KEY , Ġobject Ġ: ĠMess enger Utils . Message Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmessage Call ( data : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Utils . with ( m ContentView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( data !!. getString ( MESS EN GER _ KEY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( Snackbar Utils . LENGTH _ IN DEFIN ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon De bounc ing Click ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . messenger Register Remote Client Ġ-> ĠMess enger Utils . register () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . messenger Unregister Remote Client Ġ-> ĠMess enger Utils . unregister () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . messenger Remote Post 2 Self Client Btn Ġ-> ĠMess enger Utils . post ( MESS EN GER _ KEY , ĠB UNDLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . messenger Remote Post 2 Main Client Btn Ġ-> ĠMess enger Utils . post ( Messenger Activity . MESS EN GER _ KEY , ĠMess enger Activity . B UNDLE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠMess enger Utils . unsubscribe ( MESS EN GER _ KEY ) ĊĠĠĠĠĠĠĠ ĠMess enger Utils . unregister () ĊĠĠĠ Ġ} Ċ } Ċ