Skip to content

Commit

Permalink
Lockscreen art blur: fix SysUI FC
Browse files Browse the repository at this point in the history
be sure the bitmap is mutable before setting it to the Canvas

12-23 19:39:14.631 21188 22105 E AndroidRuntime: FATAL EXCEPTION: AsyncTask Havoc-OS#20
12-23 19:39:14.631 21188 22105 E AndroidRuntime: Process: com.android.systemui, PID: 21188
12-23 19:39:14.631 21188 22105 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at android.os.AsyncTask$4.done(AsyncTask.java:399)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:919)
12-23 19:39:14.631 21188 22105 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at android.graphics.Canvas.<init>(Canvas.java:117)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at com.android.systemui.statusbar.MediaArtworkProcessor.processArtwork(MediaArtworkProcessor.kt:87)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at com.android.systemui.statusbar.NotificationMediaManager.processArtwork(NotificationMediaManager.java:708)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at com.android.systemui.statusbar.NotificationMediaManager.access$600(NotificationMediaManager.java:94)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at com.android.systemui.statusbar.NotificationMediaManager$ProcessArtworkTask.doInBackground(NotificationMediaManager.java:750)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at com.android.systemui.statusbar.NotificationMediaManager$ProcessArtworkTask.doInBackground(NotificationMediaManager.java:731)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at android.os.AsyncTask$3.call(AsyncTask.java:378)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
12-23 19:39:14.631 21188 22105 E AndroidRuntime:        ... 4 more
  • Loading branch information
ezio84 authored and travarilo committed May 24, 2020
1 parent 1953de3 commit 8fb0b9a
Showing 1 changed file with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ class MediaArtworkProcessor @Inject constructor() {
blur.forEach(output)
output.copyTo(outBitmap)
} else {
outBitmap = inBitmap
outBitmap = inBitmap.copy(Bitmap.Config.ARGB_8888, true/*mutable*/)
}
val swatch = MediaNotificationProcessor.findBackgroundSwatch(artwork)
val canvas = Canvas(outBitmap)
Expand All @@ -94,8 +94,8 @@ class MediaArtworkProcessor @Inject constructor() {
if (blur_radius >= 1f) {
input?.destroy()
output?.destroy()
inBitmap?.recycle()
}
inBitmap?.recycle()
blur.destroy()
}
}
Expand Down

0 comments on commit 8fb0b9a

Please sign in to comment.