From 570656d8a6505003cb3dc6cd35d091928a48d41d Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Wed, 16 Apr 2014 09:10:16 +0700
Subject: Browser: fix crash updating recycled favicon
Occurs on the (slow) galaxysmtd.
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.IllegalStateException: Can't compress a recycled bitmap
at android.graphics.Bitmap.checkRecycled(Bitmap.java:345)
at android.graphics.Bitmap.compress(Bitmap.java:985)
at com.android.browser.Bookmarks$1.doInBackground(Bookmarks.java:206)
at com.android.browser.Bookmarks$1.doInBackground(Bookmarks.java:202)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more
Change-Id: I867696996c786024aabb869583583198ac3bc13a
---
src/com/android/browser/Bookmarks.java | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'src/com/android/browser')
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java
index 190ff9dd7..0bb4f0567 100644
--- a/src/com/android/browser/Bookmarks.java
+++ b/src/com/android/browser/Bookmarks.java
@@ -202,6 +202,12 @@ public class Bookmarks {
new AsyncTask() {
@Override
protected Void doInBackground(Void... unused) {
+ if (favicon.isRecycled()) {
+ Log.w(LOGTAG, "Cannot update favicon when Bitmap is already recycled");
+ // just return and update it next time
+ return null;
+ }
+
final ByteArrayOutputStream os = new ByteArrayOutputStream();
favicon.compress(Bitmap.CompressFormat.PNG, 100, os);
--
cgit v1.2.3