package Ġcom . jel on doc a . music app . repositories Ċ Ċ import Ġcom . jel on doc a . music app . models . Album Model Ċ import Ġcom . jel on doc a . music app . models . Album Object Model Ċ import Ġcom . jel on doc a . music app . services . Album Service Ċ import Ġcom . jel on doc a . music app . services . factory . Service Factory Ċ import Ġretrofit 2 . Call Ċ Ċ class ĠAlbum Repository Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġalbum Service : ĠAlbum Service ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Factory Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠService Factory () ĊĠĠĠĠĠĠĠ Ġalbum Service Ġ= Ġservice Factory . getInstance Album Service () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Album s ( ad Artist : ĠInt ): ĠList < Album Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcall : ĠCall < List < Album Object Model >> Ġ= Ġalbum Service . get Album s ( ad Artist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġcall . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . is Successful ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresponse . body () ! ![ 0 ]. albums ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException ( response . error Body (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }