package Ġcom . br ins . music list lib . contract Ċ Ċ import Ġcom . br ins . base lib . mvp . I Model Ċ import Ġcom . br ins . base lib . mvp . I View Ċ import Ġcom . br ins . base lib . mvp . p . Base Presenter Ċ import Ġcom . br ins . music list lib . model . Music ListModel Ċ import Ġcom . br ins . network lib . model . music list . More Music ListResult Ċ import Ġcom . br ins . network lib . model . music list . Music ListResult Ċ Ċ interface ĠMusic List Contract Ġ{ ĊĊĠĠĠ Ġinterface ĠView Ġ: ĠI View Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Music Detail Load ( data : ĠMusic ListResult ?) ĊĊĠĠĠĠĠĠĠ Ġfun Ġon More Music Detail Load ( data Ġ: ĠMore Music ListResult ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠPres enter Ġ: ĠBase Presenter < Music ListModel , ĠView >() Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġsuspend Ġfun Ġload Music List Detail ( id : ĠString ) ĊĊĠĠĠĠĠĠĠ Ġabstract Ġsuspend Ġfun Ġload More Music List Detail ( id : ĠArrayList < String >) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠModel Ġ: ĠI Model Ġ{ ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġload Music List Detail ( id : ĠString ): ĠMusic ListResult ĊĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġload More Music List Detail ( ids : ĠString ): ĠMore Music ListResult ĊĠĠĠ Ġ} Ċ }