/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠPas cal ĠW el sch Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . pas cal w el sch . kon duit . sample . alert Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġcom . pas cal w el sch . kon duit . BuildContext Ċ import Ġcom . pas cal w el sch . kon duit . Kon duit Activity Ċ import Ġcom . pas cal w el sch . kon duit . Kon duit Presenter Ċ import Ġcom . pas cal w el sch . kon duit . Kon duit View Ċ import Ġcom . pas cal w el sch . kon duit . sample . R Ċ import Ġcom . pas cal w el sch . kon duit . sample . R . layout Ċ import Ġcom . pas cal w el sch . kon duit . widget . Widget Ċ import Ġcom . pas cal w el sch . kon duit . widget . button Ċ import Ġcom . pas cal w el sch . kon duit . widget . widget List Ċ Ċ class ĠAlert Activity Ġ: ĠKon duit Activity < Alert Presenter , ĠKon duit View >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġprovide Presenter () Ġ= ĠAlert Presenter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( layout . activity _ alert ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" F izz Bu zz " ĊĊĠĠĠĠĠĠĠ Ġ// ĠKon duit Ġdoesn 't Ġknow Ġhow Ġto Ġbind Ġa ĠĊĠĠĠĠĠĠĠ Ġbind ( f izz Bu zz Alert , ĠF izz Bu zz Alert Binding ( this )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġconst Ġval Ġf izz Bu zz Alert Ġ= Ġ" alert " Ċ Ċ class ĠAlert Presenter Ġ: ĠKon duit Presenter < Kon duit View >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcounter Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġshow F ried Dialog Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġbuild ( context : ĠBuild Context ): ĠList < Widget > Ġ= Ġwidget List Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbutton Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠR . id . click _ me _ btn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( counter Ġ== Ġ 0 ) Ġ" Click Ġme " Ġelse Ġcounter . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ:: on Button Clicked ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġshow Ġthe Ġdialog Ġas Ġlong Ġas Ġ` show F ried Dialog ` Ġis Ġtrue , Ġwhen Ġthe Ġf izz Bu zz Alert ĠWidget Ġis Ġabsent Ġit Ġwill ĊĠĠĠĠĠĠĠ Ġ// Ġbe Ġremoved Ġfrom Ġthe ĠUI Ġ(` on Removed ` Ġgets Ġcalled ) ĊĠĠĠĠĠĠĠ Ġif Ġ( show F ried Dialog ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġf izz Bu zz Alert Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġf izz Bu zz Alert ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ"$ counter Ġ-> Ġ${ counter . to F izz Bu zz () }" ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcustom Ġcallback . ĠAlso Ġnotice Ġthe Ġinline Ġlambda . ĠIt Ġis Ġnot Ġideal Ġbecause Ġthis Ġlambda ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwill Ġmake Ġthe Ġwidget Ġnever Ġbe Ġequal Ġto Ġany Ġother Ġwidget Ġand Ġtherefore Ġthe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠonChanged Ġmethod Ġwill Ġalways Ġcalled Ġwhenever Ġbuild ( BuildContext ) Ġis Ġcalled . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Dismiss Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow F ried Dialog Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Button Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( counter . to F izz Bu zz () Ġ!= Ġcounter . toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow F ried Dialog Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInt . to F izz Bu zz (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠInt . is Bu zz () Ġ= Ġrem ( 5 ) Ġ== Ġ 0 Ġ|| ĠtoString (). contains (" 5 ") ĊĠĠĠĠĠĠĠ Ġfun ĠInt . is F izz () Ġ= Ġrem ( 3 ) Ġ== Ġ 0 Ġ|| ĠtoString (). contains (" 3 ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis F izz () Ġ&& Ġis Bu zz () Ġ-> Ġ" F izz Bu zz " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis F izz () Ġ-> Ġ" F izz " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Bu zz () Ġ-> Ġ" Bu zz " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠtoString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ