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

Commit e99acb29 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixes a bug where setting a null bigLargeIcon would not clear it

Because we were also looking for legacy icons and the legacy icon
was always restored for old listeners, the icon would not disappear.

Change-Id: Id911d405e5ae00bf45e34368effbf67c2425a40c
Fixes: 30663590
parent d393d5c1
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -4424,9 +4424,15 @@ public class Notification implements Parcelable
            //          mN.mLargeIcon
            //          mN.mLargeIcon
            //   2. !mBigLargeIconSet -> mN.mLargeIcon applies
            //   2. !mBigLargeIconSet -> mN.mLargeIcon applies
            Icon oldLargeIcon = null;
            Icon oldLargeIcon = null;
            Bitmap largeIconLegacy = null;
            if (mBigLargeIconSet) {
            if (mBigLargeIconSet) {
                oldLargeIcon = mBuilder.mN.mLargeIcon;
                oldLargeIcon = mBuilder.mN.mLargeIcon;
                mBuilder.mN.mLargeIcon = mBigLargeIcon;
                mBuilder.mN.mLargeIcon = mBigLargeIcon;
                // The legacy largeIcon might not allow us to clear the image, as it's taken in
                // replacement if the other one is null. Because we're restoring these legacy icons
                // for old listeners, this is in general non-null.
                largeIconLegacy = mBuilder.mN.largeIcon;
                mBuilder.mN.largeIcon = null;
            }
            }


            RemoteViews contentView = getStandardView(mBuilder.getBigPictureLayoutResource());
            RemoteViews contentView = getStandardView(mBuilder.getBigPictureLayoutResource());
@@ -4438,6 +4444,7 @@ public class Notification implements Parcelable


            if (mBigLargeIconSet) {
            if (mBigLargeIconSet) {
                mBuilder.mN.mLargeIcon = oldLargeIcon;
                mBuilder.mN.mLargeIcon = oldLargeIcon;
                mBuilder.mN.largeIcon = largeIconLegacy;
            }
            }


            contentView.setImageViewBitmap(R.id.big_picture, mPicture);
            contentView.setImageViewBitmap(R.id.big_picture, mPicture);