package Ġcom . thor nb ir ds . component Ċ Ċ import Ġandroid . util . Log Ċ Ċ /** Ċ Ġ* ĠBasic Ġdefinition Ġof ĠComponent ĠController Ġfor ĠAndroid Ġplatform . Ċ Ġ* Ċ Ġ* Ġ@ author ĠYang Li Ġyang li jd @ gmail . com Ċ Ġ*/ Ċ abstract Ġclass ĠComponent Controller ( ĊĠĠĠ Ġevent Controller : ĠI Event Controller ? Ċ ) Ġ: ĠI Event Controller Ġ{ ĊĊĠĠĠ Ġprotected Ġabstract Ġval ĠTAG : ĠString ĊĊĠĠĠ Ġprivate Ġval Ġm Event Controller : ĠI Event Controller Ġ= Ġevent Controller Ġ?: Ġobject Ġ: ĠEvent Controller () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġlog E ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġlog E ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġmsg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Observer For Event ( event : ĠInt , Ġobserver : ĠI Event Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Event Controller . register Observer For Event ( event , Ġobserver ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunregister Observer For Event ( event : ĠInt , Ġobserver : ĠI Event Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Event Controller . unregister Observer For Event ( event , Ġobserver ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunregister Observer ( observer : ĠI Event Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Event Controller . unregister Observer ( observer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Event ( event : ĠInt , Ġparams : ĠI Params ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Event Controller . post Event ( event , Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrelease () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Event Controller . release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġabstract Ġinner Ġclass ĠAction Ġ: ĠI Event Observer Ġ{ ĊĠĠĠĠĠĠĠ Ġprotected Ġfun Ġregister Action ( event : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister Observer For Event ( event , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprotected Ġfun Ġunregister Action ( event : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunregister Observer For Event ( event , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprotected Ġfun Ġregister () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Register () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprotected Ġfun Ġunregister () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunregister Observer ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprotected Ġabstract Ġfun Ġon Register () ĊĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġfun Ġon Event ( event : ĠInt , Ġparams : ĠI Params ?): ĠBoolean ĊĠĠĠ Ġ} Ċ }