summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2022-08-16 10:23:47 -0400
committer John Reck <jreck@google.com> 2022-08-16 10:30:09 -0400
commit50ef099e561219fa5564976c84d2a23f8b44cc92 (patch)
treefd75a18695095e9d4ca356648a0275630c2e7180
parentec5edadff717b53a2fcec6ebfd962063d2facb59 (diff)
Annotate Bitmap
* Mark sameAs @WorkerThread * Always noteSlowCall #sameAs * @NonNull all the non-null things * Styling fixups Fixes: 219890711 Test: make Change-Id: Iad220e7e667a5a6c558fc93dfe2eb9df2d7db35d
-rw-r--r--core/api/current.txt64
-rw-r--r--graphics/java/android/graphics/Bitmap.java64
2 files changed, 75 insertions, 53 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 7ed1a4382054..41751af2bebc 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -14005,49 +14005,49 @@ package android.graphics {
public final class Bitmap implements android.os.Parcelable {
method @NonNull public android.graphics.Bitmap asShared();
- method @WorkerThread public boolean compress(android.graphics.Bitmap.CompressFormat, int, java.io.OutputStream);
- method public android.graphics.Bitmap copy(android.graphics.Bitmap.Config, boolean);
- method public void copyPixelsFromBuffer(java.nio.Buffer);
- method public void copyPixelsToBuffer(java.nio.Buffer);
- method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap);
- method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int);
- method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int, @Nullable android.graphics.Matrix, boolean);
- method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean);
- method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
- method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean);
- method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
- method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createBitmap(@NonNull android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, @NonNull android.graphics.Bitmap.Config);
+ method @WorkerThread public boolean compress(@NonNull android.graphics.Bitmap.CompressFormat, int, @NonNull java.io.OutputStream);
+ method public android.graphics.Bitmap copy(@NonNull android.graphics.Bitmap.Config, boolean);
+ method public void copyPixelsFromBuffer(@NonNull java.nio.Buffer);
+ method public void copyPixelsToBuffer(@NonNull java.nio.Buffer);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int, @Nullable android.graphics.Matrix, boolean);
+ method @NonNull public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config);
+ method @NonNull public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+ method @NonNull public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, android.graphics.Bitmap.Config);
+ method @NonNull public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, @NonNull android.graphics.Bitmap.Config);
method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture);
method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture, int, int, @NonNull android.graphics.Bitmap.Config);
- method public static android.graphics.Bitmap createScaledBitmap(@NonNull android.graphics.Bitmap, int, int, boolean);
+ method @NonNull public static android.graphics.Bitmap createScaledBitmap(@NonNull android.graphics.Bitmap, int, int, boolean);
method public int describeContents();
method public void eraseColor(@ColorInt int);
method public void eraseColor(@ColorLong long);
- method @CheckResult public android.graphics.Bitmap extractAlpha();
- method @CheckResult public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
+ method @CheckResult @NonNull public android.graphics.Bitmap extractAlpha();
+ method @CheckResult @NonNull public android.graphics.Bitmap extractAlpha(@Nullable android.graphics.Paint, int[]);
method public int getAllocationByteCount();
method public int getByteCount();
method @NonNull public android.graphics.Color getColor(int, int);
method @Nullable public android.graphics.ColorSpace getColorSpace();
- method public android.graphics.Bitmap.Config getConfig();
+ method @NonNull public android.graphics.Bitmap.Config getConfig();
method public int getDensity();
method public int getGenerationId();
method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
method public int getHeight();
- method public byte[] getNinePatchChunk();
+ method @Nullable public byte[] getNinePatchChunk();
method @ColorInt public int getPixel(int, int);
- method public void getPixels(@ColorInt int[], int, int, int, int, int, int);
+ method public void getPixels(@ColorInt @NonNull int[], int, int, int, int, int, int);
method public int getRowBytes();
- method public int getScaledHeight(android.graphics.Canvas);
- method public int getScaledHeight(android.util.DisplayMetrics);
+ method public int getScaledHeight(@NonNull android.graphics.Canvas);
+ method public int getScaledHeight(@NonNull android.util.DisplayMetrics);
method public int getScaledHeight(int);
- method public int getScaledWidth(android.graphics.Canvas);
- method public int getScaledWidth(android.util.DisplayMetrics);
+ method public int getScaledWidth(@NonNull android.graphics.Canvas);
+ method public int getScaledWidth(@NonNull android.util.DisplayMetrics);
method public int getScaledWidth(int);
method public int getWidth();
method public boolean hasAlpha();
@@ -14056,21 +14056,21 @@ package android.graphics {
method public boolean isPremultiplied();
method public boolean isRecycled();
method public void prepareToDraw();
- method public void reconfigure(int, int, android.graphics.Bitmap.Config);
+ method public void reconfigure(int, int, @NonNull android.graphics.Bitmap.Config);
method public void recycle();
- method public boolean sameAs(android.graphics.Bitmap);
+ method @WorkerThread public boolean sameAs(@Nullable android.graphics.Bitmap);
method public void setColorSpace(@NonNull android.graphics.ColorSpace);
- method public void setConfig(android.graphics.Bitmap.Config);
+ method public void setConfig(@NonNull android.graphics.Bitmap.Config);
method public void setDensity(int);
method public void setHasAlpha(boolean);
method public void setHasMipMap(boolean);
method public void setHeight(int);
method public void setPixel(int, int, @ColorInt int);
- method public void setPixels(@ColorInt int[], int, int, int, int, int, int);
+ method public void setPixels(@ColorInt @NonNull int[], int, int, int, int, int, int);
method public void setPremultiplied(boolean);
method public void setWidth(int);
method @Nullable public static android.graphics.Bitmap wrapHardwareBuffer(@NonNull android.hardware.HardwareBuffer, @Nullable android.graphics.ColorSpace);
- method public void writeToParcel(android.os.Parcel, int);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Bitmap> CREATOR;
field public static final int DENSITY_NONE = 0; // 0x0
}
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index 857af11e4ca3..318cd32d19fe 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -277,7 +277,7 @@ public final class Bitmap implements Parcelable {
* @see #setHeight(int)
* @see #setConfig(Config)
*/
- public void reconfigure(int width, int height, Config config) {
+ public void reconfigure(int width, int height, @NonNull Config config) {
checkRecycled("Can't call reconfigure() on a recycled bitmap");
if (width <= 0 || height <= 0) {
throw new IllegalArgumentException("width and height must be > 0");
@@ -336,7 +336,7 @@ public final class Bitmap implements Parcelable {
* @see #setWidth(int)
* @see #setHeight(int)
*/
- public void setConfig(Config config) {
+ public void setConfig(@NonNull Config config) {
reconfigure(getWidth(), getHeight(), config);
}
@@ -590,7 +590,7 @@ public final class Bitmap implements Parcelable {
* in the buffer.</p>
* @throws IllegalStateException if the bitmap's config is {@link Config#HARDWARE}
*/
- public void copyPixelsToBuffer(Buffer dst) {
+ public void copyPixelsToBuffer(@NonNull Buffer dst) {
checkHardware("unable to copyPixelsToBuffer, "
+ "pixel access is not supported on Config#HARDWARE bitmaps");
int elements = dst.remaining();
@@ -632,7 +632,7 @@ public final class Bitmap implements Parcelable {
* first rewind the buffer.</p>
* @throws IllegalStateException if the bitmap's config is {@link Config#HARDWARE}
*/
- public void copyPixelsFromBuffer(Buffer src) {
+ public void copyPixelsFromBuffer(@NonNull Buffer src) {
checkRecycled("copyPixelsFromBuffer called on recycled bitmap");
checkHardware("unable to copyPixelsFromBuffer, Config#HARDWARE bitmaps are immutable");
@@ -686,7 +686,7 @@ public final class Bitmap implements Parcelable {
* @return the new bitmap, or null if the copy could not be made.
* @throws IllegalArgumentException if config is {@link Config#HARDWARE} and isMutable is true
*/
- public Bitmap copy(Config config, boolean isMutable) {
+ public Bitmap copy(@NonNull Config config, boolean isMutable) {
checkRecycled("Can't copy a recycled bitmap");
if (config == Config.HARDWARE && isMutable) {
throw new IllegalArgumentException("Hardware bitmaps are always immutable");
@@ -791,6 +791,7 @@ public final class Bitmap implements Parcelable {
* @return The new scaled bitmap or the source bitmap if no scaling is required.
* @throws IllegalArgumentException if width is <= 0, or height is <= 0
*/
+ @NonNull
public static Bitmap createScaledBitmap(@NonNull Bitmap src, int dstWidth, int dstHeight,
boolean filter) {
Matrix m = new Matrix();
@@ -810,6 +811,7 @@ public final class Bitmap implements Parcelable {
* be the same object as source, or a copy may have been made. It is
* initialized with the same density and color space as the original bitmap.
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull Bitmap src) {
return createBitmap(src, 0, 0, src.getWidth(), src.getHeight());
}
@@ -830,6 +832,7 @@ public final class Bitmap implements Parcelable {
* outside of the dimensions of the source bitmap, or width is <= 0,
* or height is <= 0
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull Bitmap source, int x, int y, int width, int height) {
return createBitmap(source, x, y, width, height, null, false);
}
@@ -865,6 +868,7 @@ public final class Bitmap implements Parcelable {
* outside of the dimensions of the source bitmap, or width is <= 0,
* or height is <= 0, or if the source bitmap has already been recycled
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull Bitmap source, int x, int y, int width, int height,
@Nullable Matrix m, boolean filter) {
@@ -985,6 +989,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* Config is Config.HARDWARE, because hardware bitmaps are always immutable
*/
+ @NonNull
public static Bitmap createBitmap(int width, int height, @NonNull Config config) {
return createBitmap(width, height, config, true);
}
@@ -1003,6 +1008,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* Config is Config.HARDWARE, because hardware bitmaps are always immutable
*/
+ @NonNull
public static Bitmap createBitmap(@Nullable DisplayMetrics display, int width,
int height, @NonNull Config config) {
return createBitmap(display, width, height, config, true);
@@ -1023,6 +1029,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* Config is Config.HARDWARE, because hardware bitmaps are always immutable
*/
+ @NonNull
public static Bitmap createBitmap(int width, int height,
@NonNull Config config, boolean hasAlpha) {
return createBitmap(null, width, height, config, hasAlpha);
@@ -1050,6 +1057,7 @@ public final class Bitmap implements Parcelable {
* {@link ColorSpace.Rgb.TransferParameters ICC parametric curve}, or if
* the color space is null
*/
+ @NonNull
public static Bitmap createBitmap(int width, int height, @NonNull Config config,
boolean hasAlpha, @NonNull ColorSpace colorSpace) {
return createBitmap(null, width, height, config, hasAlpha, colorSpace);
@@ -1073,6 +1081,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* Config is Config.HARDWARE, because hardware bitmaps are always immutable
*/
+ @NonNull
public static Bitmap createBitmap(@Nullable DisplayMetrics display, int width, int height,
@NonNull Config config, boolean hasAlpha) {
return createBitmap(display, width, height, config, hasAlpha,
@@ -1105,6 +1114,7 @@ public final class Bitmap implements Parcelable {
* {@link ColorSpace.Rgb.TransferParameters ICC parametric curve}, or if
* the color space is null
*/
+ @NonNull
public static Bitmap createBitmap(@Nullable DisplayMetrics display, int width, int height,
@NonNull Config config, boolean hasAlpha, @NonNull ColorSpace colorSpace) {
if (width <= 0 || height <= 0) {
@@ -1152,6 +1162,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* the color array's length is less than the number of pixels.
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull @ColorInt int[] colors, int offset, int stride,
int width, int height, @NonNull Config config) {
return createBitmap(null, colors, offset, stride, width, height, config);
@@ -1179,6 +1190,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* the color array's length is less than the number of pixels.
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull DisplayMetrics display,
@NonNull @ColorInt int[] colors, int offset, int stride,
int width, int height, @NonNull Config config) {
@@ -1221,6 +1233,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* the color array's length is less than the number of pixels.
*/
+ @NonNull
public static Bitmap createBitmap(@NonNull @ColorInt int[] colors,
int width, int height, Config config) {
return createBitmap(null, colors, 0, width, width, height, config);
@@ -1245,6 +1258,7 @@ public final class Bitmap implements Parcelable {
* @throws IllegalArgumentException if the width or height are <= 0, or if
* the color array's length is less than the number of pixels.
*/
+ @NonNull
public static Bitmap createBitmap(@Nullable DisplayMetrics display,
@NonNull @ColorInt int colors[], int width, int height, @NonNull Config config) {
return createBitmap(display, colors, 0, width, width, height, config);
@@ -1262,7 +1276,8 @@ public final class Bitmap implements Parcelable {
* @return An immutable bitmap with a HARDWARE config whose contents are created
* from the recorded drawing commands in the Picture source.
*/
- public static @NonNull Bitmap createBitmap(@NonNull Picture source) {
+ @NonNull
+ public static Bitmap createBitmap(@NonNull Picture source) {
return createBitmap(source, source.getWidth(), source.getHeight(), Config.HARDWARE);
}
@@ -1283,7 +1298,8 @@ public final class Bitmap implements Parcelable {
*
* @return An immutable bitmap with a configuration specified by the config parameter
*/
- public static @NonNull Bitmap createBitmap(@NonNull Picture source, int width, int height,
+ @NonNull
+ public static Bitmap createBitmap(@NonNull Picture source, int width, int height,
@NonNull Config config) {
if (width <= 0 || height <= 0) {
throw new IllegalArgumentException("width & height must be > 0");
@@ -1330,6 +1346,7 @@ public final class Bitmap implements Parcelable {
* Returns an optional array of private data, used by the UI system for
* some bitmaps. Not intended to be called by applications.
*/
+ @Nullable
public byte[] getNinePatchChunk() {
return mNinePatchChunk;
}
@@ -1431,7 +1448,8 @@ public final class Bitmap implements Parcelable {
* @return true if successfully compressed to the specified stream.
*/
@WorkerThread
- public boolean compress(CompressFormat format, int quality, OutputStream stream) {
+ public boolean compress(@NonNull CompressFormat format, int quality,
+ @NonNull OutputStream stream) {
checkRecycled("Can't compress a recycled bitmap");
// do explicit check before calling the native method
if (stream == null) {
@@ -1548,7 +1566,7 @@ public final class Bitmap implements Parcelable {
* Convenience for calling {@link #getScaledWidth(int)} with the target
* density of the given {@link Canvas}.
*/
- public int getScaledWidth(Canvas canvas) {
+ public int getScaledWidth(@NonNull Canvas canvas) {
return scaleFromDensity(getWidth(), mDensity, canvas.mDensity);
}
@@ -1556,7 +1574,7 @@ public final class Bitmap implements Parcelable {
* Convenience for calling {@link #getScaledHeight(int)} with the target
* density of the given {@link Canvas}.
*/
- public int getScaledHeight(Canvas canvas) {
+ public int getScaledHeight(@NonNull Canvas canvas) {
return scaleFromDensity(getHeight(), mDensity, canvas.mDensity);
}
@@ -1564,7 +1582,7 @@ public final class Bitmap implements Parcelable {
* Convenience for calling {@link #getScaledWidth(int)} with the target
* density of the given {@link DisplayMetrics}.
*/
- public int getScaledWidth(DisplayMetrics metrics) {
+ public int getScaledWidth(@NonNull DisplayMetrics metrics) {
return scaleFromDensity(getWidth(), mDensity, metrics.densityDpi);
}
@@ -1572,7 +1590,7 @@ public final class Bitmap implements Parcelable {
* Convenience for calling {@link #getScaledHeight(int)} with the target
* density of the given {@link DisplayMetrics}.
*/
- public int getScaledHeight(DisplayMetrics metrics) {
+ public int getScaledHeight(@NonNull DisplayMetrics metrics) {
return scaleFromDensity(getHeight(), mDensity, metrics.densityDpi);
}
@@ -1682,6 +1700,7 @@ public final class Bitmap implements Parcelable {
* If the bitmap's internal config is in one of the public formats, return
* that config, otherwise return null.
*/
+ @NonNull
public final Config getConfig() {
if (mRecycled) {
Log.w(TAG, "Called getConfig() on a recycle()'d bitmap! This is undefined behavior!");
@@ -1967,7 +1986,7 @@ public final class Bitmap implements Parcelable {
* to receive the specified number of pixels.
* @throws IllegalStateException if the bitmap's config is {@link Config#HARDWARE}
*/
- public void getPixels(@ColorInt int[] pixels, int offset, int stride,
+ public void getPixels(@NonNull @ColorInt int[] pixels, int offset, int stride,
int x, int y, int width, int height) {
checkRecycled("Can't call getPixels() on a recycled bitmap");
checkHardware("unable to getPixels(), "
@@ -2084,7 +2103,7 @@ public final class Bitmap implements Parcelable {
* @throws ArrayIndexOutOfBoundsException if the pixels array is too small
* to receive the specified number of pixels.
*/
- public void setPixels(@ColorInt int[] pixels, int offset, int stride,
+ public void setPixels(@NonNull @ColorInt int[] pixels, int offset, int stride,
int x, int y, int width, int height) {
checkRecycled("Can't call setPixels() on a recycled bitmap");
if (!isMutable()) {
@@ -2098,7 +2117,7 @@ public final class Bitmap implements Parcelable {
x, y, width, height);
}
- public static final @android.annotation.NonNull Parcelable.Creator<Bitmap> CREATOR
+ public static final @NonNull Parcelable.Creator<Bitmap> CREATOR
= new Parcelable.Creator<Bitmap>() {
/**
* Rebuilds a bitmap previously stored with writeToParcel().
@@ -2134,7 +2153,7 @@ public final class Bitmap implements Parcelable {
* by the final pixel format
* @param p Parcel object to write the bitmap data into
*/
- public void writeToParcel(Parcel p, int flags) {
+ public void writeToParcel(@NonNull Parcel p, int flags) {
checkRecycled("Can't parcel a recycled bitmap");
noteHardwareBitmapSlowCall();
if (!nativeWriteToParcel(mNativePtr, mDensity, p)) {
@@ -2150,6 +2169,7 @@ public final class Bitmap implements Parcelable {
* @return new bitmap containing the alpha channel of the original bitmap.
*/
@CheckResult
+ @NonNull
public Bitmap extractAlpha() {
return extractAlpha(null, null);
}
@@ -2180,7 +2200,8 @@ public final class Bitmap implements Parcelable {
* paint that is passed to the draw call.
*/
@CheckResult
- public Bitmap extractAlpha(Paint paint, int[] offsetXY) {
+ @NonNull
+ public Bitmap extractAlpha(@Nullable Paint paint, int[] offsetXY) {
checkRecycled("Can't extractAlpha on a recycled bitmap");
long nativePaint = paint != null ? paint.getNativeInstance() : 0;
noteHardwareBitmapSlowCall();
@@ -2197,12 +2218,12 @@ public final class Bitmap implements Parcelable {
* and pixel data as this bitmap. If any of those differ, return false.
* If other is null, return false.
*/
- public boolean sameAs(Bitmap other) {
+ @WorkerThread
+ public boolean sameAs(@Nullable Bitmap other) {
+ StrictMode.noteSlowCall("sameAs compares pixel data, not expected to be fast");
checkRecycled("Can't call sameAs on a recycled bitmap!");
- noteHardwareBitmapSlowCall();
if (this == other) return true;
if (other == null) return false;
- other.noteHardwareBitmapSlowCall();
if (other.isRecycled()) {
throw new IllegalArgumentException("Can't compare to a recycled bitmap!");
}
@@ -2247,7 +2268,8 @@ public final class Bitmap implements Parcelable {
* @throws IllegalStateException if the bitmap's config is not {@link Config#HARDWARE}
* or if the bitmap has been recycled.
*/
- public @NonNull HardwareBuffer getHardwareBuffer() {
+ @NonNull
+ public HardwareBuffer getHardwareBuffer() {
checkRecycled("Can't getHardwareBuffer from a recycled bitmap");
HardwareBuffer hardwareBuffer = mHardwareBuffer == null ? null : mHardwareBuffer.get();
if (hardwareBuffer == null || hardwareBuffer.isClosed()) {