package Ġcom . mock lets . pl uto . modules . setup . easy access Ċ Ċ import Ġandroid . app . Service Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . mock lets . pl uto . R Ċ import Ġcom . mock lets . pl uto . core . extensions . can Draw Overlay s Ċ import Ġcom . mock lets . pl uto . core . extensions . toast Ċ import Ġcom . mock lets . pl uto . ui . Pl uto Activity Ċ Ċ internal Ġclass ĠPopup ( context : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġis Intro Toast Already Shown Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġinteraction Listener Ġ= Ġobject Ġ: ĠOn Popup Interaction Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠPl uto Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon LayoutParams Updated ( params : ĠWindow Manager . LayoutParams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup View Manager . view ?. parent ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Manager . update View Layout ( popup View Manager . view , Ġparams ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpopup View Manager : ĠPopup View Manager Ġ= ĠPopup View Manager ( context , Ġinteraction Listener ) ĊĠĠĠ Ġprivate Ġval Ġwindow Manager : ĠWindow Manager Ġ= Ġcontext . getSystem Service ( Service . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĊĠĠĠ Ġinternal Ġfun Ġadd ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context . can Draw Overlay s ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup View Manager . addView ( context , Ġwindow Manager ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Intro Toast Already Shown ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . toast ( context . getString ( R . string . pl uto ___ welcome _ toast )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Intro Toast Already Shown Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġremove () Ġ{ ĊĠĠĠĠĠĠĠ Ġpopup View Manager . remove View ( window Manager ) ĊĠĠĠ Ġ} Ċ } Ċ