package Ġcom . raf al z aw ad z ki . library Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ Ċ abstract Ġclass ĠWidget ( var Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġvar Ġis Shown : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġview : ĠView Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( layout , Ġnull , Ġfalse ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġwidget Ready : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġabstract Ġval Ġlayout : ĠInt ĊĊĠĠĠ Ġopen Ġfun Ġon Show () Ġ{ ĊĠĠĠĠĠĠĠ Ġwidget Ready ?. invoke () ĊĠĠĠĠĠĠĠ Ġis Shown Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Hide () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Shown Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Destroy () Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ