Merge "Revert "Icon: make Icon's Bitmaps immutable"" into tm-dev am: 4e8c47efbb

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17919920

Change-Id: I26a925a8b79b060e7b2ac6d9d278c93c6460cbf0
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Xiaowen Lei
2022-04-23 02:49:31 +00:00
committed by Automerger Merge Worker

View File

@@ -128,7 +128,6 @@ public final class Icon implements Parcelable {
// TYPE_RESOURCE: Resources
// TYPE_DATA: DataBytes
private Object mObj1;
private boolean mCachedAshmem = false;
// TYPE_RESOURCE: package name
// TYPE_URI: uri string
@@ -157,8 +156,6 @@ public final class Icon implements Parcelable {
/**
* @return The {@link android.graphics.Bitmap} held by this {@link #TYPE_BITMAP} or
* {@link #TYPE_ADAPTIVE_BITMAP} Icon.
*
* Note that this will always return an immutable Bitmap.
* @hide
*/
@UnsupportedAppUsage
@@ -169,20 +166,8 @@ public final class Icon implements Parcelable {
return (Bitmap) mObj1;
}
/**
* Sets the Icon's contents to a particular Bitmap. Note that this may make a copy of the Bitmap
* if the supplied Bitmap is mutable. In that case, the value returned by getBitmap() may not
* equal the Bitmap passed to setBitmap().
*
* @hide
*/
private void setBitmap(Bitmap b) {
if (b.isMutable()) {
mObj1 = b.copy(b.getConfig(), false);
} else {
mObj1 = b;
}
mCachedAshmem = false;
mObj1 = b;
}
/**
@@ -503,7 +488,6 @@ public final class Icon implements Parcelable {
getBitmap().getAllocationByteCount() >= MIN_ASHMEM_ICON_SIZE) {
setBitmap(getBitmap().asShared());
}
mCachedAshmem = true;
}
/**
@@ -929,10 +913,7 @@ public final class Icon implements Parcelable {
switch (mType) {
case TYPE_BITMAP:
case TYPE_ADAPTIVE_BITMAP:
if (!mCachedAshmem) {
mObj1 = ((Bitmap) mObj1).asShared();
mCachedAshmem = true;
}
final Bitmap bits = getBitmap();
getBitmap().writeToParcel(dest, flags);
break;
case TYPE_RESOURCE: