package Ġcom . lif ly mark . normal schedule . logic . network Ċ Ċ import Ġandroid . util . Log Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġkotlin . coroutines . resume Ċ import Ġkotlin . coroutines . resume With Exception Ċ import Ġkotlin . coroutines . suspend Coroutine Ċ Ċ object ĠNormal Schedule Network Ġ{ ĊĠĠĠ Ġprivate Ġval ĠCourse Service Ġ= ĠService Creator . create ( Course Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠScore Service Ġ= ĠService Creator . create ( Score Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠSentence Service Ġ= ĠService Creator . create ( Sentence Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠSp aces Service Ġ= ĠService Creator . create ( Space Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠDev Service Ġ= ĠService Creator . create ( Dev Board Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠExam Arrange Service Ġ= ĠService Creator . create ( Exam Arrange Service :: class . java ) ĊĠĠĠ Ġprivate Ġval ĠCheck Update Service Ġ= ĠService Creator . create ( Check Update Service :: class . java ) ĊĊĠĠĠ Ġsuspend Ġfun ĠgetId () Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . getId (). await () ĊĊĠĠĠ Ġfun Ġcancel All () Ġ= ĠService Creator . cancel All () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Captcha ( session ID : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . get Captcha ( session ID ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Course ( user : String , password : String , Ġy zm : String , Ġheaders : String ) Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . getC ourse ( user , Ġpassword , Ġy zm , Ġheaders ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Course ( user : ĠString , Ġpassword : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . getC ourse By New ( user , Ġpassword ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Department List () Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . get Department List (). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Course By Major ( department : ĠString , Ġmajor : String ) Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . getC ourse By Class ( department , Ġmajor ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Score ( user : String , Ġpassword : String , Ġid : String ) Ġ= ĊĠĠĠĠĠĠĠ ĠScore Service . get Score ( user , Ġpassword , Ġid ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Visit Course () Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . get Visit (). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Sent ences () Ġ= ĠSentence Service . get Sent ences List (). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Score Detail ( user : String , Ġpassword : String , Ġid : String ) Ġ= ĊĠĠĠĠĠĠĠ ĠScore Service . get Score Detail ( user , Ġpassword , Ġid ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġlogin To Space ( user : ĠString , Ġpassword : ĠString , Ġid : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠSp aces Service . login To Space ( user , Ġpassword , Ġid ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Space Rooms ( id : ĠString , Ġroom Name : String , Ġsearch Date : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠSp aces Service . get Space Rooms ( id , Ġroom Name , Ġsearch Date ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Bullet in () Ġ= ĊĠĠĠĠĠĠĠ ĠDev Service . get Bullet in (). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget School Bus Time ( search Type : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠDev Service . get School Bus Time ( search Type ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Exam Arrange ( user Number : ĠString , Ġpassword : ĠString , Ġid : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠExam Arrange Service . get Exam Arrange ( user Number , Ġpassword , Ġid ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget New Version ( version Code : String ) Ġ= ĊĠĠĠĠĠĠĠ ĠCheck Update Service . getNew Version ( version Code ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġlogin Web VPN ( user : ĠString , password : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠCourse Service . login Web VPN ( user , Ġpassword ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġlogin UR P ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ Ġpassword : ĠString , ĊĠĠĠĠĠĠĠ Ġy zm : ĠString , ĊĠĠĠĠĠĠĠ Ġcookies : String ĊĠĠĠ Ġ) Ġ= ĠCourse Service . login UR P ( user , Ġpassword , Ġy zm , Ġcookies ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Grad uate Captcha ( cookies : ĠString ) Ġ= ĠCourse Service . get Grad uate Captcha ( cookies ). await () ĊĊĠĠĠ Ġsuspend Ġfun Ġget Start Bullet in ( id : Int , Ġversion Code : ĠInt ) Ġ= ĠDev Service . getStart Bullet in ( id , Ġversion Code ). await () ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġ< T > ĠCall < T >. await (): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuspend Coroutine Ġ{ Ġcontinuation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenqueue ( object Ġ: ĠCallback < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < T >, Ġresponse : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse . body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( body Ġ!= Ġnull ) Ġcontinuation . resume ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġcontinuation . resume With Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" Response Ġbody Ġis Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < T >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( call . is Canceled ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinuation . resume With Exception ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }