diff options
Diffstat (limited to 'main/src/cgeo/geocaching/network/HtmlImage.java')
| -rw-r--r-- | main/src/cgeo/geocaching/network/HtmlImage.java | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/main/src/cgeo/geocaching/network/HtmlImage.java b/main/src/cgeo/geocaching/network/HtmlImage.java index 38498d6..0649e12 100644 --- a/main/src/cgeo/geocaching/network/HtmlImage.java +++ b/main/src/cgeo/geocaching/network/HtmlImage.java @@ -6,7 +6,8 @@ import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.files.LocalStorage; -import cgeo.geocaching.utils.ImageHelper; +import cgeo.geocaching.utils.IOUtils; +import cgeo.geocaching.utils.ImageUtils; import cgeo.geocaching.utils.Log; import ch.boye.httpclientandroidlib.HttpResponse; @@ -21,10 +22,10 @@ import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.text.Html; +import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.IOException; import java.util.Date; public class HtmlImage implements Html.ImageGetter { @@ -42,7 +43,8 @@ public class HtmlImage implements Html.ImageGetter { "hitwebcounter.com", "kostenloser-counter.eu", "trendcounter.com", - "hit-counter-download.com" + "hit-counter-download.com", + "gcwetterau.de/counter" }; public static final String SHARED = "shared"; @@ -66,6 +68,7 @@ public class HtmlImage implements Html.ImageGetter { bfOptions = new BitmapFactory.Options(); bfOptions.inTempStorage = new byte[16 * 1024]; + bfOptions.inPreferredConfig = Bitmap.Config.RGB_565; Point displaySize = Compatibility.getDisplaySize(); this.maxWidth = displaySize.x - 25; @@ -129,7 +132,7 @@ public class HtmlImage implements Html.ImageGetter { } } - return imagePre != null ? ImageHelper.scaleBitmapToFitDisplay(imagePre) : null; + return imagePre != null ? ImageUtils.scaleBitmapToFitDisplay(imagePre) : null; } /** @@ -194,7 +197,11 @@ public class HtmlImage implements Html.ImageGetter { if (file.exists()) { if (listId >= StoredList.STANDARD_LIST_ID || file.lastModified() > (new Date().getTime() - (24 * 60 * 60 * 1000)) || forceKeep) { setSampleSize(file); - return BitmapFactory.decodeFile(file.getPath(), bfOptions); + final Bitmap image = BitmapFactory.decodeFile(file.getPath(), bfOptions); + if (image == null) { + Log.e("Cannot decode bitmap from " + file.getPath()); + } + return image; } } return null; @@ -205,20 +212,14 @@ public class HtmlImage implements Html.ImageGetter { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; - FileInputStream fis = null; + BufferedInputStream stream = null; try { - fis = new FileInputStream(file); - BitmapFactory.decodeStream(fis, null, options); + stream = new BufferedInputStream(new FileInputStream(file)); + BitmapFactory.decodeStream(stream, null, options); } catch (FileNotFoundException e) { Log.e("HtmlImage.setSampleSize", e); } finally { - if (fis != null) { - try { - fis.close(); - } catch (IOException e) { - // ignore - } - } + IOUtils.closeQuietly(stream); } int scale = 1; |
