Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28db3383 authored by Leon Scroggins III's avatar Leon Scroggins III
Browse files

Do not return a closed HardwareBuffer

Bug: 148155907
Bug: 150395371
Test: I638094c90f7a49bf0f625cf5cdc4e5377f67de79

Follow up to I408cff708efa76f89e0c4c6dae16f19166ffe74d. If the
HardwareBuffer (Java object) held by a Bitmap is closed, it is not
useful to a client. Rather than returning it, create a new object from
the native object.

Change-Id: Ia35f211fb9f42929ac5e50f038de201c9912f918
parent c8d49eff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2250,7 +2250,7 @@ public final class Bitmap implements Parcelable {
    public @NonNull HardwareBuffer getHardwareBuffer() {
        checkRecycled("Can't getHardwareBuffer from a recycled bitmap");
        HardwareBuffer hardwareBuffer = mHardwareBuffer == null ? null : mHardwareBuffer.get();
        if (hardwareBuffer == null) {
        if (hardwareBuffer == null || hardwareBuffer.isClosed()) {
            hardwareBuffer = nativeGetHardwareBuffer(mNativePtr);
            mHardwareBuffer = new WeakReference<HardwareBuffer>(hardwareBuffer);
        }