From 14711cd6c0edb578a8569b79e1e623f6e7417001 Mon Sep 17 00:00:00 2001 From: ezio84 Date: Mon, 23 Dec 2019 19:53:41 +0100 Subject: [PATCH] base: Lockscreen no blur option: fix SysUI FC 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 #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.(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 Signed-off-by: Arghya Chanda Change-Id: I229151a18f7cebc4770d8987eaa0e492e8937de8 Signed-off-by: Arghya Chanda Signed-off-by: SagarMakhar Signed-off-by: Sagarrokade006 --- .../com/android/systemui/statusbar/MediaArtworkProcessor.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt index a487a25ca72a..357f7b061d58 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt @@ -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) @@ -94,8 +94,8 @@ class MediaArtworkProcessor @Inject constructor() { if (blur_radius >= 1f) { input?.destroy() output?.destroy() - inBitmap?.recycle() } + inBitmap?.recycle() blur.destroy() } }