package Ġpl . value add . m vi . fragment . delegate . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Call Super Ċ import Ġpl . value add . m vi . presenter . Base M vi Presenter Ċ import Ġpl . value add . m vi . presenter . I Base View Ċ Ċ /** Ċ Ġ* ĠMin imal Ġimplementation Ġof Ġcontract Ġbetween Ġfragment Ġand Ġpresenter . Ċ Ġ* Ċ Ġ* ĠThis ĠAPI Ġrequires Ġcall Ġevery Ġfragment 's Ġlifecycle Ġcallback Ġevent Ġdefined Ġat Ġ[ M vi Fragment Delegate ]. Ċ Ġ*/ Ċ open Ġclass ĠM vi Fragment Delegate Impl < V Ġ: ĠI Base View < *, Ġ*, Ġ* >>( ĊĠĠĠ Ġprotected Ġval Ġfragment : ĠV , ĊĠĠĠ Ġprotected Ġval Ġpresenter : ĠBase M vi Presenter < *, Ġ*, Ġ*, Ġ*, ĠV > Ċ ) Ġ: ĠM vi Fragment Delegate Ġ{ ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . initialize State ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġno - op ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . attach View ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . detach View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . destroy () ĊĠĠĠ Ġ} Ċ }