package com.emmaguy.todayilearned.refresh; import android.content.res.Resources; import com.emmaguy.todayilearned.storage.UserStorage; import java.lang.reflect.Type; import retrofit.converter.ConversionException; import retrofit.converter.Converter; import retrofit.converter.GsonConverter; import retrofit.mime.TypedInput; import retrofit.mime.TypedOutput; public class PostConverter implements Converter { private final GsonConverter mOriginalConverter; private final UserStorage mUserStorage; private final HtmlDecoder mHtmlDecoder; private final Resources mResources; public PostConverter(GsonConverter gsonConverter, Resources resources, UserStorage userStorage, HtmlDecoder htmlDecoder) { mOriginalConverter = gsonConverter; mResources = resources; mUserStorage = userStorage; mHtmlDecoder = htmlDecoder; } @Override public Object fromBody(TypedInput body, Type type) throws ConversionException { ListingResponse listingResponse = (ListingResponse) mOriginalConverter.fromBody(body, ListingResponse.class); return new ListingResponseConverter(mUserStorage, mResources, mHtmlDecoder).convert( listingResponse); } @Override public TypedOutput toBody(Object object) { return mOriginalConverter.toBody(object); } }