package Ġcom . fer o . sk ripsi . ui . pel ang gan . auth . view model Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . fer o . sk ripsi . data . Repository Ċ import Ġcom . fer o . sk ripsi . data . source . Response Callback Ċ import Ġcom . fer o . sk ripsi . model . P el ang gan Ċ import Ġcom . fer o . sk ripsi . model . Pen j ah it Ċ import Ġcom . fer o . sk ripsi . utils . Single Live Event Ċ Ċ class ĠAuth P el ang gan ViewModel ( private Ġval Ġrepository : ĠRepository ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġdata P el ang gan Ġ= ĠSingle Live Event < P el ang gan >() ĊĠĠĠ Ġvar Ġdata P el ang gan VM Ġ= ĠSingle Live Event < P el ang gan >() ĊĠĠĠ Ġvar Ġmessage Failed Ġ= ĠSingle Live Event < String >() ĊĠĠĠ Ġvar Ġmessage Success Ġ= ĠSingle Live Event < String >() ĊĠĠĠ Ġvar Ġshow Progress Ġ= ĠSingle Live Event < Boolean >() ĊĠĠĠ Ġvar ĠonSuccess State Ġ= ĠSingle Live Event < Boolean >() ĊĊĠĠĠ Ġfun ĠgetData P el ang gan ById ( data : ĠPel ang gan ){ ĊĊĠĠĠĠĠĠĠ Ġrepository . getData P el ang gan ById ( data , Ġobject Ġ: ĠResponse Callback < List < P el ang gan >> { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠList < P el ang gan >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata P el ang gan VM . post Value ( data [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failed ( statusCode : ĠInt , ĠerrorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Failed . post Value ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hide Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠisEmpty Data ( check : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister P el ang gan ( data : ĠPel ang gan ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġrepository . register P el ang gan ( data , Ġobject Ġ: ĠResponse Callback < P el ang gan > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠPel ang gan ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata P el ang gan . post Value ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Success . post Value (" Register ĠBer hasil ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failed ( statusCode : ĠInt , ĠerrorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Failed . post Value ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hide Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠisEmpty Data ( check : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlogin P el ang gan ( email : ĠString , Ġpassword : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġrepository . login P el ang gan ( email , Ġpassword , Ġobject Ġ: ĠResponse Callback < P el ang gan > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠPel ang gan ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata P el ang gan . post Value ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Success . post Value (" Login ĠBer hasil ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failed ( statusCode : ĠInt , ĠerrorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Failed . post Value ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hide Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠisEmpty Data ( check : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate P el ang gan ( data : ĠPel ang gan ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġrepository . update P el ang gan ( data , Ġobject Ġ: ĠResponse Callback < P el ang gan > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠPel ang gan ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata P el ang gan . post Value ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Success . post Value (" Data ĠBer hasil ĠDi per bar ui ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failed ( statusCode : ĠInt , ĠerrorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Failed . post Value ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess State . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hide Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠisEmpty Data ( check : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }