/**
*
*/
package com.gmail.charleszq.picorner.task.flickr;
import java.lang.ref.WeakReference;
import android.content.Context;
import android.util.Log;
import android.view.View;
import com.gmail.charleszq.picorner.task.AbstractFetchIconUrlTask;
import com.gmail.charleszq.picorner.utils.FlickrHelper;
import com.googlecode.flickrjandroid.Flickr;
import com.googlecode.flickrjandroid.photosets.Photoset;
import com.googlecode.flickrjandroid.photosets.PhotosetsInterface;
/**
* @author Charles(charleszq@gmail.com)
*
*/
public class FetchFlickrPhotosetIconUrlTask extends AbstractFetchIconUrlTask {
private Photoset mPhotoset;
public FetchFlickrPhotosetIconUrlTask(Context ctx) {
super(ctx);
}
/**
* @param ctx
*/
public FetchFlickrPhotosetIconUrlTask(Context ctx, Photoset ps) {
super(ctx);
this.mPhotoset = ps;
}
@Override
protected void beforeExecute(Object... params) {
if (params.length == 1)
super.beforeExecute(params);
else {
mPhotoset = (Photoset) params[0];
mIconViewRef = new WeakReference<View>((View) params[1]);
}
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#doInBackground(Params[])
*/
@Override
protected String doInBackground(Object... params) {
String result = null;
beforeExecute(params);
if (mPhotoset.getPrimaryPhoto() != null) {
result = mPhotoset.getPrimaryPhoto().getSmallSquareUrl();
}
if (result != null) {
return result;
}
Flickr f = FlickrHelper.getInstance().getFlickr();
PhotosetsInterface psi = f.getPhotosetsInterface();
try {
Photoset ps = psi.getInfo(mPhotoset.getId());
mPhotoset.setPrimaryPhoto(ps.getPrimaryPhoto());
result = mPhotoset.getPrimaryPhoto().getSmallSquareUrl();
} catch (Exception e) {
Log.w(TAG, e.getMessage());
}
return result;
}
}