package com.deardhruv.swipevolley.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.text.SimpleDateFormat; import java.util.Date; import android.annotation.SuppressLint; import android.content.Context; import android.util.Log; public class StoreImageHelper { private static final String LOGTAG = StoreImageHelper.class.getSimpleName(); private static final String IMAGES_PATH = "imgs"; private final File mImageFolder; public StoreImageHelper(final Context ctx) { mImageFolder = getImageFolder(ctx); if (!mImageFolder.exists()) { mImageFolder.mkdir(); } } public static File getImageFolder(final Context ctx) { return new File(StorageUtils.getCacheDirectory(ctx), IMAGES_PATH); } public void saveImage(final String urlparam, final String fileName) throws IOException { final File bitmap = new File(mImageFolder, fileName); if (bitmap.exists()) { // NOTHIND TO DO } else if (bitmap.createNewFile()) { final URL url = new URL(urlparam); final URLConnection urlConnect = url.openConnection(); final OutputStream output = new FileOutputStream(bitmap); final InputStream is = urlConnect.getInputStream(); try { byte[] buffer = new byte[512]; int bytesRead = 0; while ((bytesRead = is.read(buffer, 0, buffer.length)) >= 0) { output.write(buffer, 0, bytesRead); } } catch (MalformedURLException e) { Log.e(LOGTAG, e.getMessage()); } finally { is.close(); output.close(); } } else { // FILE NOT CREATED } } public String getImagePath(final File file) { if (file.exists()) { return "file://" + file.getAbsolutePath(); } else { return null; } } public String getImagePath(final String adnumber) { if (adnumber == null) { throw new IllegalArgumentException("adnumber cannot be null"); } final File bitmap = new File(mImageFolder, adnumber); if (bitmap.exists()) { return "file://" + bitmap.getAbsolutePath(); } else { return null; } } public void removeImage(final String adnumber) { final File bitmap = new File(mImageFolder, adnumber); if (bitmap.exists()) { bitmap.delete(); } } @SuppressLint("SimpleDateFormat") public File createImageFile() throws IOException { // Create an image file name final String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); final String imageFileName = "j" + timeStamp + "_"; final File image = File.createTempFile(imageFileName, ".jpg", mImageFolder); return image; } }