diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/ThumbnailData.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/ThumbnailData.java index 7dc537c345e0e..6594d5f51af3c 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/ThumbnailData.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/ThumbnailData.java @@ -62,16 +62,15 @@ public class ThumbnailData { } private static Bitmap makeThumbnail(TaskSnapshot snapshot) { - final HardwareBuffer buffer = snapshot.getHardwareBuffer(); Bitmap thumbnail = null; - try { + try (final HardwareBuffer buffer = snapshot.getHardwareBuffer()) { if (buffer != null) { thumbnail = Bitmap.wrapHardwareBuffer(buffer, snapshot.getColorSpace()); } } catch (IllegalArgumentException ex) { // TODO(b/157562905): Workaround for a crash when we get a snapshot without this state Log.e("ThumbnailData", "Unexpected snapshot without USAGE_GPU_SAMPLED_IMAGE: " - + buffer, ex); + + snapshot.getHardwareBuffer(), ex); } if (thumbnail == null) { Point taskSize = snapshot.getTaskSize(); diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java index b3a29a3fec78a..b5019b426ad52 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java @@ -292,9 +292,10 @@ public class TaskStackChangeListeners { } case ON_TASK_SNAPSHOT_CHANGED: { Trace.beginSection("onTaskSnapshotChanged"); + final TaskSnapshot snapshot = (TaskSnapshot) msg.obj; + final ThumbnailData thumbnail = new ThumbnailData(snapshot); for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { - mTaskStackListeners.get(i).onTaskSnapshotChanged(msg.arg1, - new ThumbnailData((TaskSnapshot) msg.obj)); + mTaskStackListeners.get(i).onTaskSnapshotChanged(msg.arg1, thumbnail); } Trace.endSection(); break;