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