package Ġcom . nt tn . net lib Ċ Ċ import Ġandroidx . lifecycle . Observer Ċ Ċ abstract Ġclass ĠI State Ob serve < T > Ġ: ĠObserver < ApiResponse < T >> Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonChanged ( api Response : ĠApiResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( api Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Success Response Ġ-> ĠonSuccess ( api Response . response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Empty Response Ġ-> Ġon Data Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi ErrorResponse Ġ-> ĠonError ( api Response . throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Failed Response Ġ-> Ġon Failed ( api Response . errorCode , Ġapi Response . error Msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠonComplete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠonSuccess ( data : ĠT ) ĊĊĠĠĠ Ġabstract Ġfun Ġon Data Empty () ĊĊĠĠĠ Ġabstract Ġfun ĠonError ( e : ĠThrowable ) ĊĊĠĠĠ Ġabstract Ġfun ĠonComplete () ĊĊĠĠĠ Ġabstract Ġfun Ġon Failed ( errorCode : ĠInt ?, Ġerror Msg : ĠString ?) Ċ Ċ }