Notification: Fix bigLargeIcon

Fix a bug in L where BigPictureStyle.bigLargeIcon never made it
into the notification layout.

Bug: 18735551
Change-Id: Ia72d1de8cca2e95df3a99aaffeaba31325f1d858
This commit is contained in:
Christoph Studer
2014-12-15 16:32:27 +01:00
parent 9ef07ad2b6
commit 5c510ee551

View File

@@ -3771,8 +3771,24 @@ public class Notification implements Parcelable
}
private RemoteViews makeBigContentView() {
// Replace mLargeIcon with mBigLargeIcon if mBigLargeIconSet
// This covers the following cases:
// 1. mBigLargeIconSet -> mBigLargeIcon (null or non-null) applies, overrides
// mLargeIcon
// 2. !mBigLargeIconSet -> mLargeIcon applies
Bitmap oldLargeIcon = null;
if (mBigLargeIconSet) {
oldLargeIcon = mBuilder.mLargeIcon;
mBuilder.mLargeIcon = mBigLargeIcon;
}
RemoteViews contentView = getStandardView(mBuilder.getBigPictureLayoutResource());
if (mBigLargeIconSet) {
mBuilder.mLargeIcon = oldLargeIcon;
}
contentView.setImageViewBitmap(R.id.big_picture, mPicture);
applyTopPadding(contentView);
@@ -3803,6 +3819,7 @@ public class Notification implements Parcelable
super.restoreFromExtras(extras);
if (extras.containsKey(EXTRA_LARGE_ICON_BIG)) {
mBigLargeIconSet = true;
mBigLargeIcon = extras.getParcelable(EXTRA_LARGE_ICON_BIG);
}
mPicture = extras.getParcelable(EXTRA_PICTURE);