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

Commit 1837e9ec authored by Xiaowen Lei's avatar Xiaowen Lei Committed by Automerger Merge Worker
Browse files

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

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: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 98411c1e 4e8c47ef
Loading
Loading
Loading
Loading
+2 −21
Original line number Diff line number Diff line
@@ -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,21 +166,9 @@ 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;
    }

    /**
     * @return The length of the compressed bitmap byte array held by this {@link #TYPE_DATA} Icon.
@@ -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: