package Ġvn . ta le . architecture . common . base Ċ Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠG iang ĠN gu yen Ġon Ġ 1 1 / 1 4 / 1 6 . Ċ Ġ*/ Ċ Ċ abstract Ġclass ĠM vp Presenter < M vp View > Ġ{ ĊĊĠ Ġprivate Ġval Ġdis pos ables Ġ= ĠComposite Disposable () ĊĊĠ Ġprivate Ġvar Ġview Ref : ĠWeak Reference < M vp View >? Ġ= Ġnull ĊĊĠ Ġval Ġview : ĠM vp View ? ĊĠĠĠ Ġget () Ġ= Ġif Ġ( view Ref Ġ== Ġnull ) Ġnull Ġelse Ġview Ref !!. get () ĊĊĠ Ġprotected Ġfun Ġauto Dispose ( dis posable : ĠDis posable ) Ġ{ ĊĠĠĠ Ġdis pos ables . add ( dis posable ) ĊĠ Ġ} ĊĊĠ Ġfun Ġattach View ( view : ĠM vp View ) Ġ{ ĊĠĠĠ Ġthis . view Ref Ġ= ĠWeak Reference ( view ) ĊĠ Ġ} ĊĊĠ Ġfun Ġdetach View () Ġ{ ĊĠĠĠ Ġview Ref ?. clear () ĊĠĠĠ Ġdis pos ables . clear () ĊĠ Ġ} Ċ } Ċ