From 25118818b6abd3ae3efe7ac5fa0ed45c3ce9f1c3 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Tue, 18 Feb 2020 14:29:53 -0500 Subject: [PATCH] Switch to SharedElementCallback to HardwareBuffer Bug: 148155907 Bug: 135299581 Test: Covered by CTS We plan to remove Bitmap#createGraphicBufferHandle. Call the new Bitmap#getHardwareBuffer instead. Change-Id: I0b3ada9636fcc00df82472ea9479eb0bfbcda9eb --- core/java/android/app/SharedElementCallback.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/core/java/android/app/SharedElementCallback.java b/core/java/android/app/SharedElementCallback.java index 0287564bcc56f..8eb7e7246976b 100644 --- a/core/java/android/app/SharedElementCallback.java +++ b/core/java/android/app/SharedElementCallback.java @@ -19,7 +19,6 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.ColorSpace; -import android.graphics.GraphicBuffer; import android.graphics.Matrix; import android.graphics.RectF; import android.graphics.drawable.BitmapDrawable; @@ -48,8 +47,8 @@ import java.util.Map; public abstract class SharedElementCallback { private Matrix mTempMatrix; private static final String BUNDLE_SNAPSHOT_BITMAP = "sharedElement:snapshot:bitmap"; - private static final String BUNDLE_SNAPSHOT_GRAPHIC_BUFFER = - "sharedElement:snapshot:graphicBuffer"; + private static final String BUNDLE_SNAPSHOT_HARDWARE_BUFFER = + "sharedElement:snapshot:hardwareBuffer"; private static final String BUNDLE_SNAPSHOT_COLOR_SPACE = "sharedElement:snapshot:colorSpace"; private static final String BUNDLE_SNAPSHOT_IMAGE_SCALETYPE = "sharedElement:snapshot:imageScaleType"; private static final String BUNDLE_SNAPSHOT_IMAGE_MATRIX = "sharedElement:snapshot:imageMatrix"; @@ -186,8 +185,8 @@ public abstract class SharedElementCallback { if (bitmap.getConfig() != Bitmap.Config.HARDWARE) { bundle.putParcelable(BUNDLE_SNAPSHOT_BITMAP, bitmap); } else { - GraphicBuffer graphicBuffer = bitmap.createGraphicBufferHandle(); - bundle.putParcelable(BUNDLE_SNAPSHOT_GRAPHIC_BUFFER, graphicBuffer); + HardwareBuffer hardwareBuffer = bitmap.getHardwareBuffer(); + bundle.putParcelable(BUNDLE_SNAPSHOT_HARDWARE_BUFFER, hardwareBuffer); ColorSpace cs = bitmap.getColorSpace(); if (cs != null) { bundle.putInt(BUNDLE_SNAPSHOT_COLOR_SPACE, cs.getId()); @@ -235,7 +234,7 @@ public abstract class SharedElementCallback { View view = null; if (snapshot instanceof Bundle) { Bundle bundle = (Bundle) snapshot; - GraphicBuffer buffer = bundle.getParcelable(BUNDLE_SNAPSHOT_GRAPHIC_BUFFER); + HardwareBuffer buffer = bundle.getParcelable(BUNDLE_SNAPSHOT_HARDWARE_BUFFER); Bitmap bitmap = bundle.getParcelable(BUNDLE_SNAPSHOT_BITMAP); if (buffer == null && bitmap == null) { return null; @@ -246,8 +245,7 @@ public abstract class SharedElementCallback { if (colorSpaceId >= 0 && colorSpaceId < ColorSpace.Named.values().length) { colorSpace = ColorSpace.get(ColorSpace.Named.values()[colorSpaceId]); } - bitmap = Bitmap.wrapHardwareBuffer(HardwareBuffer.createFromGraphicBuffer(buffer), - colorSpace); + bitmap = Bitmap.wrapHardwareBuffer(buffer, colorSpace); } ImageView imageView = new ImageView(context); view = imageView;