package Ġcom . ak m ere . ch uck _ nor ris _ api _ android . presentation Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . ak m ere . ch uck _ nor ris _ api _ android . common . Base Scheduler Provider Ċ import Ġcom . ak m ere . ch uck _ nor ris _ api _ android . common . Base ViewModel Ċ import Ġcom . ak m ere . ch uck _ nor ris _ api _ android . data . model . Ch uck Nor ris Jo ke Ċ import Ġcom . ak m ere . ch uck _ nor ris _ api _ android . domain . use case . Get Ch uck Nor ris Random Jo ke Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġcom . squareup . pic asso . Target Ċ import Ġjava . io . IOException Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠJo ke Details ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġpic asso : ĠPic asso , ĊĠĠĠ Ġprivate Ġval Ġget Ch uck Nor ris Random Jo ke : ĠGet Ch uck Nor ris Random Jo ke , ĊĠĠĠ Ġprivate Ġval Ġscheduler Provider : ĠBase Scheduler Provider Ċ ) Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Details Success Status Ġ= ĠMutable LiveData < Ch uck Nor ris Jo ke >() ĊĠĠĠ Ġval Ġdetails Success Status : ĠLive Data < Ch uck Nor ris Jo ke > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Details Success Status ĊĊĠĠĠ Ġprivate Ġval Ġm Details Error Status Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval Ġdetails Error Status : ĠLive Data < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Details Error Status ĊĊĊĠĠĠ Ġprivate Ġval Ġm Jo ke Image Status Ġ= ĠMutable LiveData < Bitmap >() ĊĠĠĠ Ġval Ġjo ke Image Status : ĠLive Data < Bitmap > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Jo ke Image Status ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġfun Ġshow Details ( category : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Ch uck Nor ris Random Jo ke ( category ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler Provider . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Success Status . value Ġ= Ġit . get OrThrow () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( i : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Error Status . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ch uck ĠNor ris Ġd err ub ou Ġsua Ġconex Ã£o , Ġt ente Ġconect ar Ġnov amente " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Error Status . value Ġ= Ġt . message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Error Status . value Ġ= Ġit . message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Jo ke Image ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpic asso . load ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resize ( 3 0 0 , Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( object Ġ: ĠTarget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Prepare Load ( place Holder Drawable : ĠDrawable ?) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bitmap Failed ( e : ĠException ?, Ġerror Drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Error Status . value Ġ= Ġ" Image m Ġfal hou Ġem Ġcar regar ĠCh uck ĠNor ris " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bitmap Loaded ( bitmap : ĠBitmap ?, Ġfrom : ĠPic asso . Loaded From ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Jo ke Image Status . value Ġ= Ġbitmap ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Details Error Status . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ch uck ĠNor ris Ġd err ub ou Ġsua Ġconex Ã£o , Ġt ente Ġconect ar Ġnov amente " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }