package com.florianmski.tracktoid.image;
import android.content.Context;
import com.florianmski.tracktoid.ui.widgets.TraktImageView;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.RequestCreator;
import com.uwetrottmann.trakt.v2.entities.ImageSizes;
import com.uwetrottmann.trakt.v2.entities.Images;
import com.uwetrottmann.trakt.v2.entities.MoreImageSizes;
public class ImagesTest
{
protected Context context;
public final static double RATIO_BANNER = 55.0/300.0;
public final static double RATIO_FANART = 358.0/636.0;
public final static double RATIO_POSTER = 1.471014493;
public final static double RATIO_SCREENSHOT = 0.562893082;
public static RequestCreator load(Context context, TraktImageView tiv, Images images)
{
return Picasso.with(context).load(getImageType(tiv, images).get());
}
private static ImageType getImageType(TraktImageView tiv, Images images)
{
ImageType.Size targetSize = new ImageType.Size(tiv.getMeasuredWidth(), tiv.getMeasuredHeight());
switch(tiv.getType())
{
case AVATAR:
break;
case BANNER:
break;
case FANART:
return new Fanart(targetSize, images);
case HEADSHOT:
break;
case POSTER:
return new Poster(targetSize, images);
case SCREENSHOT:
return new Screenshot(targetSize, images);
}
return null;
}
public static String getUrl(Type type, Images images)
{
switch(type)
{
case AVATAR:
return getUrl(images.avatar);
case BANNER:
return getUrl(images.banner);
case FANART:
if(images.fanart == null)
return getUrl(images.screenshot);
else
return getUrl(images.fanart);
case HEADSHOT:
return getUrl(images.headshot);
case POSTER:
return getUrl(images.poster);
case SCREENSHOT:
if(images.screenshot == null)
return getUrl(images.fanart);
else
return getUrl(images.screenshot);
}
return null;
}
protected static String getUrl(ImageSizes imageSizes)
{
MoreImageSizes moreImageSizes = new MoreImageSizes();
moreImageSizes.full = imageSizes.full;
return getUrl(moreImageSizes);
}
protected static String getUrl(MoreImageSizes moreImageSizes)
{
if(moreImageSizes != null)
{
if(moreImageSizes.full != null)
return moreImageSizes.full;
else if(moreImageSizes.medium != null)
return moreImageSizes.medium;
else if(moreImageSizes.thumb != null)
return moreImageSizes.thumb;
}
return null;
}
}