package Ġpet rov . iv an . t mdb . ui . utils Ċ Ċ import Ġandroid . widget . ImageView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġpet rov . iv an . t mdb . App Constants Ċ import Ġpet rov . iv an . t mdb . App Constants . MOV IE _ RELEASE _ DATE _ FORMAT Ċ import Ġpet rov . iv an . t mdb . R Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . util .* Ċ Ċ fun Ġ< T > ĠCor outine Scope . launch On IO ( run On IO : Ġ() Ġ-> ĠT , Ġresult On Main : Ġ( result : ĠT ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlaunch ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult On Main ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On IO () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġparse Movie Release Year ( release Date : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( release Date . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġjava . text . SimpleDateFormat ( MOV IE _ RELEASE _ DATE _ FORMAT , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse ( release Date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcal . time Ġ= Ġdate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcal . get ( Calendar . YEAR ). toString () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( e , Ġ" get Movie Release Year Ġfailed ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġrelease Date Ċ } Ċ Ċ fun ĠImageView . load Movie Image ( backdrop Path : ĠString ?) Ġ{ ĊĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠ Ġ. load ( App Constants . TM DB _ PH OTO _ URL Ġ+ Ġback drop Path ) ĊĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . film strip ) ĊĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . NONE ) ĊĠĠĠĠĠĠĠ Ġ. into ( this ) Ċ } Ċ Ċ fun ĠImageView . load Suggestion Item Image ( backdrop Path : ĠString ?) Ġ{ ĊĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠ Ġ. load ( App Constants . TM DB _ PH OTO _ MIN I _ URL Ġ+ Ġback drop Path ) ĊĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . circle Crop Transform ()) ĊĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . film strip ) ĊĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . NONE ) ĊĠĠĠĠĠĠĠ Ġ. into ( this ) Ċ } Ċ