diff options
| author | 2023-04-10 21:18:37 +0000 | |
|---|---|---|
| committer | 2023-04-10 21:18:37 +0000 | |
| commit | f0bc25e44dc701e2e2ae1045a7c2ed173e7b3018 (patch) | |
| tree | f6c76aedf9652227e2719dec00c0be1c724c99ef | |
| parent | c31d0bea7c0b1d2806c2368995f81c03f4f7bc52 (diff) | |
| parent | 69c66253ea5e714765da37ac0727719626b72711 (diff) | |
Merge "Native crash -> ISE" into udc-dev
| -rw-r--r-- | graphics/java/android/graphics/Bitmap.java | 3 | ||||
| -rw-r--r-- | graphics/java/android/graphics/BitmapShader.java | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index 25b074d20b81..2307d6080f9f 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -401,8 +401,9 @@ public final class Bitmap implements Parcelable { /** * This is called by methods that want to throw an exception if the bitmap * has already been recycled. + * @hide */ - private void checkRecycled(String errorMessage) { + void checkRecycled(String errorMessage) { if (mRecycled) { throw new IllegalStateException(errorMessage); } diff --git a/graphics/java/android/graphics/BitmapShader.java b/graphics/java/android/graphics/BitmapShader.java index 2f6dd468511b..5c065775eea2 100644 --- a/graphics/java/android/graphics/BitmapShader.java +++ b/graphics/java/android/graphics/BitmapShader.java @@ -120,6 +120,7 @@ public class BitmapShader extends Shader { if (bitmap == null) { throw new IllegalArgumentException("Bitmap must be non-null"); } + bitmap.checkRecycled("Cannot create BitmapShader for recycled bitmap"); mBitmap = bitmap; mTileX = tileX; mTileY = tileY; @@ -188,6 +189,8 @@ public class BitmapShader extends Shader { /** @hide */ @Override protected long createNativeInstance(long nativeMatrix, boolean filterFromPaint) { + mBitmap.checkRecycled("BitmapShader's bitmap has been recycled"); + boolean enableLinearFilter = mFilterMode == FILTER_MODE_LINEAR; if (mFilterMode == FILTER_MODE_DEFAULT) { mFilterFromPaint = filterFromPaint; |