diff options
| author | Pawit Pornkitprasan <p.pawit@gmail.com> | 2014-04-16 09:10:16 +0700 |
|---|---|---|
| committer | LorDClockaN <davor@losinj.com> | 2014-04-21 18:48:53 +0200 |
| commit | 32755b764bbc9d722ddfa0a9fdb722e13d8ea799 (patch) | |
| tree | 26a79e43be44b10264414b1772f21a7ae1b99867 | |
| parent | 797bf2fe9826e921e907821868fa488980587536 (diff) | |
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
| -rw-r--r-- | src/com/android/browser/Bookmarks.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java index 190ff9dd..0bb4f056 100644 --- a/src/com/android/browser/Bookmarks.java +++ b/src/com/android/browser/Bookmarks.java @@ -202,6 +202,12 @@ public class Bookmarks { new AsyncTask<Void, Void, Void>() { @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); |
