package Ġcom . example . nu on uo . model Ċ Ċ import Ġandroid . util . Log Ċ import Ġcom . example . nu on uo . bean . Upload File Response Ċ import Ġcom . example . nu on uo . mar co . Constant Ċ import Ġkotlinx . coroutines .* Ċ import Ġretrofit 2 . HttpException Ċ Ċ /** Ċ @ author Ġy jn Ċ @ create Ġ 2 0 1 9 / 1 1 / 2 8 Ġ- Ġ 1 6 : 0 0 Ċ Ġ*/ Ċ class ĠUpload File Model Impl : ĠUpload File Model Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠUP LOAD _ IMAGE Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġ Ġvar Ġupload File Response As yn : ĠDeferred < Upload File Response >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġupload File ( filePath : ĠString , ĠaccessToken : ĠString , Ġtype : ĠInt ): Deferred < Upload File Response > Ġ= ĠGlobal Scope . async ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupload File Response As yn Ġ= ĠRet rofit Helper . ret rofit Service . upload File ( Ret rofit Helper . getImage Body ( filePath ), accessToken ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupload File Response As yn ?. await () Ġ?: ĠUpload File Response ( 4 0 0 , Constant . RESULT _ NULL , null ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( e Ġis ĠHttp Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUpload File Response ( 4 0 0 , e . response (). error Body ()?. string (), null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUpload File Response ( 4 0 0 , e . message , null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }