package Ġcn . j ia jun h ui . mvp . layout controller Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ Ċ abstract Ġclass ĠBase Layout Controller ( context : Context ) Ġ: ĠFrame Layout ( context ), ĠLayout Controller Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġon Layout EventListener : On Layout EventListener ?= null ĊĊĠĠĠ Ġprivate Ġvar Ġlayout Part : Layout Part ?= null ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLayout Params ( ViewGroup . LayoutParams . MATCH _ PARENT , ViewGroup . LayoutParams . MATCH _ PARENT ) ĊĠĠĠĠĠĠĠ Ġset OnClickListener ({}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġset On Layout EventListener ( on Layout EventListener : ĠOn Layout EventListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on Layout EventListener Ġ= Ġon Layout EventListener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġattach Layout Part ( layout Part : ĠLayout Part ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . layout Part Ġ= Ġlayout Part ĊĠĠĠĠĠĠĠ Ġon Layout Part Attached () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġon Layout Part Attached () ĊĊĠĠĠ Ġfun Ġsend Event ( code : Int , Ġbundle : ĠBundle ? ){ ĊĠĠĠĠĠĠĠ Ġon Layout EventListener ?. on Event ( code , Ġbundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Layout Part (): Layout Part ? Ġ= Ġlayout Part ĊĊĠĠĠ Ġoverride Ġfun Ġget View (): ĠView Ġ= Ġthis Ċ Ċ }