package Ġcom . example . mv pk otlin demo . presenter Ċ Ċ import Ġcom . example . mv pk otlin demo . base . Base Presenter Ċ import Ġcom . example . mv pk otlin demo . bean . Android Bean Ċ import Ġcom . example . mv pk otlin demo . contract . IM ain Model Ċ import Ġcom . example . mv pk otlin demo . contract . IM ain View Ċ import Ġcom . example . mv pk otlin demo . model . Main Model Ċ Ċ class ĠMain Presenter ( m View : ĠI Main View ) Ġ: ĠBase Presenter < IM ain View >(), ĠI Main Model . On Get Android Data Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm View : ĠI Main View ? Ġ= Ġm View ĊĠĠĠ Ġprivate Ġvar Ġm Model : ĠMain Model ? Ġ= Ġnull ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Model Ġ= ĠMain Model () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Android Data ( category : ĠString , Ġpage : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m View ?. show Loading () ĊĠĠĠĠĠĠĠ Ġthis . m Model ?. get Android Data ( category , Ġpage , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Get Android Data Fin ised ( bean : ĠAndroid Bean ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m View ?. hide Loading () ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġbean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . m View ?. show Android Data ( bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bean . error Ġ== Ġ" true ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . m View ?. show ErrorMsg () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . m View ?. show ErrorMsg () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }