package Ġcom . n pha u . android . shared . screens . activities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Motion Event Ċ import Ġcom . n pha u . android . shared . R Ċ import Ġcom . n pha u . android . shared . common . extensions . format Html Ċ import Ġcom . n pha u . android . shared . common . extensions . hide Keyboard If Need Ċ import Ġcom . n pha u . android . shared . common . extensions . long Toast Ċ import Ġcom . n pha u . android . shared . libs . Common Utils Ċ import Ġcom . n pha u . android . shared . libs . Locale Utils Ċ import Ġcom . n pha u . android . shared . libs . Network Utils Ċ import Ġcom . n pha u . android . shared . screens . UI Behaviour Ċ import Ġdagger . android . support . D agger AppCompatActivity Ċ Ċ open Ġclass ĠD agger Shared Activity Ġ: ĠD agger AppCompatActivity (), ĠUI Behaviour Ġ{ ĊĊĠĠĠ Ġ// ĠUser Ġfor Ġlanguage Ġsetting ĊĠĠĠ Ġoverride Ġfun Ġattach Base Context ( new Base : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLocale Utils . self (). set Locale ( new Base )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . attach Base Context ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġon Sync Views ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġon Sync Events () ĊĠĠĠĠĠĠĠ Ġon Sync Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sync Views ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sync Events () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sync Data () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Need ToBe Show Ġ= Ġmessage Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġif Ġ( message . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Need ToBe Show Ġ= Ġif Ġ( Network Utils . is Network Available ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . common _ error _ unknown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . common _ error _ connect ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlong Toast ( message Need ToBe Show . format Html (). toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading ( is Show : ĠBoolean , Ġtimeout : ĠLong ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmake V ibr ator () Ġ{ ĊĠĠĠĠĠĠĠ ĠCommon Utils . make V ibr ator ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠstartActivity ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition Enter () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠstartActivity For Result ( intent : ĠIntent ?, Ġrequest Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . startActivity For Result ( intent , Ġrequest Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition Enter () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo Not Care () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠEmpty Ġmethod ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġhide Keyboard If Need () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfinish () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . finish () ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition Exit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġoverride Pending Transition Enter () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . anim _ slide _ from _ right , ĠR . anim . anim _ slide _ to _ left ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġoverride Pending Transition Exit () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . anim _ slide _ from _ left , ĠR . anim . anim _ slide _ to _ right ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Keyboard If Need () ĊĠĠĠĠĠĠĠ Ġshow Loading ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġdismiss Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Loading ( false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġallow User Dismiss Keyboard When Click Out Side () Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( motion Event : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( allow User Dismiss Keyboard When Click Out Side ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Keyboard If Need () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dispatch Touch Event ( motion Event ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ