package Ġcom . code her os . movie app . remote . map Ċ Ċ import Ġcom . code her os . movie app . model . Movie Ċ import Ġcom . code her os . movie app . remote . model . Movie Result Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Date Ċ import Ġjava . util . Locale Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġs ank ar Ġon Ġ 2 0 2 1 - 1 0 - 1 1 . Ċ Ġ*/ Ċ class ĠMovie Result Mapper ( private Ġval Ġbase Image URL : ĠString ) Ġ: ĠMapper < Movie Result , ĠMovie > Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠRELEASE _ DATE _ UI _ FORMAT Ġ= Ġ" MMMM Ġdd , Ġy yyy " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠRELEASE _ DATE _ REMOTE _ FORMAT Ġ= Ġ" yyyy - MM - dd " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmap ( remote : ĠMovie Result ) Ġ= ĠMovie ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġremote . id Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġremote . title Ġ?: Ġ"", ĊĠĠĠĠĠĠĠ Ġposter URL Ġ= Ġ"$ base Image URL ${ remote . poster Path }", ĊĠĠĠĠĠĠĠ Ġrating Ġ= Ġget Rating Percentage ( remote . vote Average ), ĊĠĠĠĠĠĠĠ Ġrelease Date Ġ= Ġget UI Release Date ( remote . release Date ), ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= System . currentTimeMillis (). toString () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġvote Ġaverage Ġvalue Ġcomes Ġin Ġa Ġdouble Ġthat Ġscale Ġspans ĊĠĠĠĠ Ġ* Ġfrom Ġ 0 . 0 Ġto Ġ 1 0 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget Rating Percentage ( vote Average : ĠDouble ?) Ġ= Ġ"${ (( vote Average ?. times ( 1 0 0 . 0 ) Ġ?: Ġ 0 . 0 ) Ġ/ Ġ 1 0 . 0 ). toInt ()} %" ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠParses Ġthe Ġremote Ġdate Ġformat Ġinto Ġa Ġhuman - readable Ġvalue . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget UI Release Date ( release Date : ĠString ?): ĠString Ġ= Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġui Formatter Ġ= ĠSimpleDateFormat ( RELEASE _ DATE _ UI _ FORMAT , ĠLocale . getDefault ()) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠSimpleDateFormat ( RELEASE _ DATE _ REMOTE _ FORMAT , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse ( release Date Ġ?: Ġ" 2 0 0 0 - 0 1 - 0 1 ") Ġ?: ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Formatter . format ( date ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Formatter . format ( Date ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }