package Ġcom . Met e ors . android . me te ors . logic . network Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Met e ors _ Repository " Ċ /** Ċ * Ġ@ Description : Ġ ä»ĵåºĵ ç±» ï¼Į ç¨ĭåºı çļĦæķ°æį® æºĲ Ċ */ Ċ object ĠRepository Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* Ġ@ Description : Ġä½¿çĶ¨ live Data å¼ĢåĲ¯ åįı ç¨ĭ åŁŁ ï¼Į åı¯ä»¥ æł¹æį® æķ°æį®çļĦ è¿ĶåĽŀ åĢ¼ è¿Ľè¡Į ä¸įåĲĮ å¼Ĥå¸¸ çļĦ åĵįåºĶ ĊĠĠĠ Ġ* Ġ@ return : Ġ ĠLive Data ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Video List () Ġ= Ġlive Data ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideo ListResponse Ġ= ĠVideo Network . get Video List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideos Ġ= Ġvideo ListResponse . videos ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( videos ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Repository æĹłæ³ķ èİ·åıĸ Video List ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemit ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* Ġ@ Description : Ġèİ·åıĸ è§Ĩé¢ĳ æµģ æĸĩä»¶ ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Video ( id : ĠString ) Ġ= Ġlive Data ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideo Stream Ġ= ĠVideo Network . get Video ( id ). byte Stream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¯¹ è§Ĩé¢ĳ æĸĩä»¶ æµģ è¿Ľè¡Į è¯»åıĸ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( video Stream ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Repository æĹłæ³ķ èİ·åıĸ Video ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemit ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* Ġ@ Description : Ġèİ·åıĸ è¯Ħè®º åĮº åĪĹè¡¨ ĊĠĠĠ Ġ* Ġ@ Param : Ġ è§Ĩé¢ĳ ID ĊĠĠĠ Ġ* Ġ@ return : ĠLive Data ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Comments ( video Id : ĠString ) Ġ= Ġlive Data ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomment List Ġ= ĠVideo Network . get Comment ( video Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( comment List ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Repository æĹłæ³ķ èİ·åıĸ Comment ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemit ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* Ġ@ Description : Ġèİ·åıĸ çĶ¨æĪ· å¤´ åĥı çļĦ URL åľ°åĿĢ ĊĠĠĠ Ġ* Ġ@ Param : ĠçĶ¨æĪ· Id ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetUser ImageUrl ( userId : ĠString ): ĠString { ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ Service Creator . BASE _ URL } image / user /$ userId . jpg " ĊĠĠĠ Ġ} Ċ }