package Ġlt . mark mer kk Ċ Ċ /** Ċ Ġ* ĠTh in Ġlayer Ġto Ġget Ġthe Ġavailable Ġview Ċ Ġ* ĠEx . 1 ĠUseful Ġwhen Ġpresenter Ġis Ġinitialized , Ġwhen Ġview Ġis Ġnot Ġavailable Ġyet Ċ Ġ* ĠĠĠĠĠ ĠThe Ġview Ġis Ġpassed Ġthrough Ġlambda , Ġthus Ġfunctions Ġonly Ġtrigger Ġwhen Ġview Ġis Ġavailable Ċ Ġ*/ Ċ abstract Ġclass ĠView Provider < T > Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġget (): ĠT ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIt Ġis Ġeasy Ġto Ġget Ġthe Ġview Ġfrom ĠKotlin Ġand Ġdo Ġa Ġnull Ġcheck . ĊĠĠĠĠ Ġ* ĠThis Ġis Ġnot Ġthe Ġcase Ġon ĠJava . ĊĠĠĠĠ Ġ* ĠThis Ġconvenience Ġfunction Ġwill Ġtrigger Ġfunction Ġ* only Ġwhen Ġview Ġis Ġavailable * ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinvoke ( block : ĠT . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠT ? Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock . invoke ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMore Ġjava - like Ġlambda Ġconsum able Ġfunction ĊĠĠĠĠ Ġ* ĠSuccess or Ġof Ġ[ invoke ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinvoke J ( block : ĠOn View Available Listener < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠT ? Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock . invoke On View ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠView Provider Empty < T > Ġ: ĠView Provider < T >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget (): ĠT ? Ġ= Ġnull Ċ } Ċ Ċ @ Functional Interface Ċ interface ĠOn View Available Listener < T > Ġ{ ĊĠĠĠ Ġfun Ġinvoke On View ( view : ĠT ) Ċ } Ċ