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
This commit is contained in:
@@ -4424,9 +4424,15 @@ public class Notification implements Parcelable
|
||||
// mN.mLargeIcon
|
||||
// 2. !mBigLargeIconSet -> mN.mLargeIcon applies
|
||||
Icon oldLargeIcon = null;
|
||||
Bitmap largeIconLegacy = null;
|
||||
if (mBigLargeIconSet) {
|
||||
oldLargeIcon = mBuilder.mN.mLargeIcon;
|
||||
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());
|
||||
@@ -4438,6 +4444,7 @@ public class Notification implements Parcelable
|
||||
|
||||
if (mBigLargeIconSet) {
|
||||
mBuilder.mN.mLargeIcon = oldLargeIcon;
|
||||
mBuilder.mN.largeIcon = largeIconLegacy;
|
||||
}
|
||||
|
||||
contentView.setImageViewBitmap(R.id.big_picture, mPicture);
|
||||
|
||||
Reference in New Issue
Block a user