package Ġcom . hu ot u . android . m if ang . mvp . presenter Ċ Ċ import Ġandroid . provider . Contacts Contract Ċ import Ġcom . hu ot u . android . m if ang . bean . Api Result Ċ import Ġcom . hu ot u . android . m if ang . bean . Constants Ċ import Ġcom . hu ot u . android . m if ang . bean . Material Category Ċ import Ġcom . hu ot u . android . m if ang . bean . Qu an Ċ import Ġcom . hu ot u . android . m if ang . mvp . contract . Login Contract Ċ import Ġcom . hu ot u . android . m if ang . mvp . contract . Qu an Contract Ċ import Ġcom . hu ot u . android . m if ang . mvp . model . Login Model Ċ import Ġcom . hu ot u . android . m if ang . mvp . model . Qu an Model Ċ import Ġcom . trello . rx lifecycle 2 . Lifecycle Provider Ċ import Ġcom . trello . rx lifecycle 2 . kotlin . bind To Lifecycle Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ Ċ class ĠQu an Presenter ( view : ĠQu an Contract . View ) Ġ: ĠQu an Contract . Presenter { ĊĊĠĠĠ Ġvar Ġm View : ĠQu an Contract . View ?= null ĊĠĠĠ Ġval Ġm Model : ĠQu an Model Ġby Ġlazy Ġ{ ĠQu an Model () Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm View = view ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmaterial C ateg pr ys () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġobservable : ĠObservable < Api Result < List < Material Category >>> ? Ġ= Ġm Model . material C ateg pr ys () ĊĠĠĠĠĠĠĠ Ġobservable ?. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . bind To Lifecycle ( m View Ġas ĠLifecycle Provider <* >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . subscribe ( object Ġ: ĠObserver < Api Result < List < Material Category >>> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Progress ( Constants . TIP _ LOADING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠApi Result < List < Material Category >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. material C ateg pr ys Callback ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. error ( Constants . MESSAGE _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmaterial List ( type Id : ĠInt , Ġpage Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobservable : ĠObservable < Api Result < List < Qu an >>> ? Ġ= Ġm Model . material List ( type Id , Ġpage Index ) ĊĠĠĠĠĠĠĠ Ġobservable ?. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . bind To Lifecycle ( m View Ġas ĠLifecycle Provider <* >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . subscribe ( object Ġ: ĠObserver < Api Result < List < Qu an >>> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Progress ( Constants . TIP _ LOADING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠApi Result < List < Qu an >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. material List Callback ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. error ( Constants . MESSAGE _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshare Success ( data Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobservable : ĠObservable < Api Result < Any >> ? Ġ= Ġm Model . share Success ( data Id ) ĊĠĠĠĠĠĠĠ Ġobservable ?. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . bind To Lifecycle ( m View Ġas ĠLifecycle Provider <* >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . subscribe ( object Ġ: ĠObserver < Api Result < Any >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Progress ( Constants . TIP _ LOADING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠApi Result < Any >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. share Success Callback ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. error ( Constants . MESSAGE _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dest ory () Ġ{ ĊĊĠĠĠ Ġ} Ċ }