/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠPat ches ĠK line fel ter Ċ Ġ* Ċ Ġ* Ġ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 . is up atches . android . wise fy . sample . internal . scaffold ing Ċ Ċ import Ġcom . is up atches . android . wise fy . sample . internal . logging . Wise fy Sample Logger Ċ import Ġjava . lang . RuntimeException Ċ Ċ internal Ġinterface ĠPres enter < in ĠVIEW Ġ: ĠView > Ġ{ ĊĠĠĠ Ġfun Ġattach View ( view : ĠVIEW ) ĊĠĠĠ Ġfun Ġdetach View () Ċ } Ċ Ċ private Ġconst Ġval ĠLOG _ TAG Ġ= Ġ" Base Presenter " Ċ Ċ internal Ġabstract Ġclass ĠBase Presenter < VIEW Ġ: ĠBase View > Ġ: ĠPres enter < VIEW > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġview : ĠVIEW ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġis View Attached : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġview Ġ!= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġattach View ( view : ĠVIEW ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdetach View () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġget View (): ĠVIEW Ġ= Ġview Ġ?: Ġthrow ĠView Not Attached Exception () ĊĊĠĠĠ Ġprotected Ġfun Ġdo S af ely With View ( view Command : Ġ( view : ĠVIEW ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is View Attached ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. schedule Direct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is View Attached ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġview ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Command ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠW ise fy Sample Logger . w ( LOG _ TAG , Ġ" View Command Ġwas Ġscheduled ., Ġbut Ġview Ġis Ġnow Ġdet ached !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠView Not Attached Exception Ġ: ĠRuntimeException ( ĊĠĠĠ Ġ" New Ġview Ġattached . Ġ ĠDid Ġyou Ġforget Ġto Ġcall Ġattach View () ?" Ċ ) Ċ