Loading core/java/android/app/Notification.java +20 −1 Original line number Diff line number Diff line Loading @@ -3586,12 +3586,19 @@ public class Notification implements Parcelable * object. */ public Notification build() { if (mSmallIcon != null) { mSmallIcon.convertToAshmem(); } if (mLargeIcon != null) { mLargeIcon.convertToAshmem(); } mOriginatingUserId = mContext.getUserId(); mHasThreeLines = hasThreeLines(); Notification n = buildUnstyled(); if (mStyle != null) { mStyle.purgeResources(); n = mStyle.buildStyled(n); } Loading Loading @@ -3790,6 +3797,8 @@ public class Notification implements Parcelable return wip; } public void purgeResources() {} // The following methods are split out so we can re-create notification partially. /** * @hide Loading Loading @@ -3901,8 +3910,18 @@ public class Notification implements Parcelable return this; } private RemoteViews makeBigContentView() { @Override public void purgeResources() { super.purgeResources(); if (mPicture != null && mPicture.isMutable()) { mPicture = mPicture.createAshmemBitmap(); } if (mBigLargeIcon != null) { mBigLargeIcon.convertToAshmem(); } } private RemoteViews makeBigContentView() { // Replace mLargeIcon with mBigLargeIcon if mBigLargeIconSet // This covers the following cases: // 1. mBigLargeIconSet -> mBigLargeIcon (null or non-null) applies, overrides Loading graphics/java/android/graphics/drawable/Icon.java +15 −1 Original line number Diff line number Diff line Loading @@ -109,6 +109,10 @@ public final class Icon implements Parcelable { return (Bitmap) mObj1; } private void setBitmap(Bitmap b) { mObj1 = b; } /** * @return The length of the compressed bitmap byte array held by this {@link #TYPE_DATA} Icon. * @hide Loading Loading @@ -346,6 +350,16 @@ public final class Icon implements Parcelable { return loadDrawable(context); } /** * Puts the memory used by this instance into Ashmem memory, if possible. * @hide */ public void convertToAshmem() { if (mType == TYPE_BITMAP && getBitmap().isMutable()) { setBitmap(getBitmap().createAshmemBitmap()); } } /** * Writes a serialized version of an Icon to the specified stream. * Loading Loading @@ -466,7 +480,7 @@ public final class Icon implements Parcelable { throw new IllegalArgumentException("Bitmap must not be null."); } final Icon rep = new Icon(TYPE_BITMAP); rep.mObj1 = bits; rep.setBitmap(bits); return rep; } Loading Loading
core/java/android/app/Notification.java +20 −1 Original line number Diff line number Diff line Loading @@ -3586,12 +3586,19 @@ public class Notification implements Parcelable * object. */ public Notification build() { if (mSmallIcon != null) { mSmallIcon.convertToAshmem(); } if (mLargeIcon != null) { mLargeIcon.convertToAshmem(); } mOriginatingUserId = mContext.getUserId(); mHasThreeLines = hasThreeLines(); Notification n = buildUnstyled(); if (mStyle != null) { mStyle.purgeResources(); n = mStyle.buildStyled(n); } Loading Loading @@ -3790,6 +3797,8 @@ public class Notification implements Parcelable return wip; } public void purgeResources() {} // The following methods are split out so we can re-create notification partially. /** * @hide Loading Loading @@ -3901,8 +3910,18 @@ public class Notification implements Parcelable return this; } private RemoteViews makeBigContentView() { @Override public void purgeResources() { super.purgeResources(); if (mPicture != null && mPicture.isMutable()) { mPicture = mPicture.createAshmemBitmap(); } if (mBigLargeIcon != null) { mBigLargeIcon.convertToAshmem(); } } private RemoteViews makeBigContentView() { // Replace mLargeIcon with mBigLargeIcon if mBigLargeIconSet // This covers the following cases: // 1. mBigLargeIconSet -> mBigLargeIcon (null or non-null) applies, overrides Loading
graphics/java/android/graphics/drawable/Icon.java +15 −1 Original line number Diff line number Diff line Loading @@ -109,6 +109,10 @@ public final class Icon implements Parcelable { return (Bitmap) mObj1; } private void setBitmap(Bitmap b) { mObj1 = b; } /** * @return The length of the compressed bitmap byte array held by this {@link #TYPE_DATA} Icon. * @hide Loading Loading @@ -346,6 +350,16 @@ public final class Icon implements Parcelable { return loadDrawable(context); } /** * Puts the memory used by this instance into Ashmem memory, if possible. * @hide */ public void convertToAshmem() { if (mType == TYPE_BITMAP && getBitmap().isMutable()) { setBitmap(getBitmap().createAshmemBitmap()); } } /** * Writes a serialized version of an Icon to the specified stream. * Loading Loading @@ -466,7 +480,7 @@ public final class Icon implements Parcelable { throw new IllegalArgumentException("Bitmap must not be null."); } final Icon rep = new Icon(TYPE_BITMAP); rep.mObj1 = bits; rep.setBitmap(bits); return rep; } Loading