package warmupdaterapp.utils;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import warmupdaterapp.customTypes.Screenshot;
import warmupdaterapp.misc.Log;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
public class ImageUtilities {
private static final String TAG = "ImageUtilities";
public static Screenshot load(String url, long lastModifiedInMillis, long primaryKey, int foreignKey) {
Screenshot s = new Screenshot();
s.ForeignThemeListKey = foreignKey;
s.url = URI.create(url);
s.PrimaryKey = primaryKey;
HttpClient httpCrap = new DefaultHttpClient();
final HttpGet get = new HttpGet(url);
HttpEntity entity = null;
try {
final HttpResponse response = httpCrap.execute(get);
//Set last ModifyDate
final Header header = response.getFirstHeader("Last-Modified");
if (header != null)
s.setModifyDate(header.getValue());
//If null set to today
else
s.setModifyDate(null);
//Do not Download if not changed
if (lastModifiedInMillis == s.getModifyDateAsMillis())
return null;
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
entity = response.getEntity();
InputStream in = null;
try {
in = entity.getContent();
s.setPictureFromInputstream(in);
}
catch (IOException e) {
Log.e(TAG, "Could not load image from " + url, e);
}
finally {
if (in != null) in.close();
}
}
}
catch (IOException e) {
Log.e(TAG, "Could not load image from " + url, e);
}
finally {
if (entity != null) {
try {
entity.consumeContent();
}
catch (IOException e) {
Log.e(TAG, "Could not load image from " + url, e);
}
}
}
return s;
}
}