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

Commit 33439810 authored by Dan Sandler's avatar Dan Sandler
Browse files

Crash apps with bad notification icons.

This shouldn't happen, since there are many places where
invalid icons should already have been either fixed (in the
case where there's an .icon but no .mSmallIcon) or rejected
(if they're both null or invalid). But if a notification
makes it all the way to SystemUI without a valid icon, let's
crash the sender.

Bug: 23011305
Change-Id: Ifaebec57d59baa1defb4520178b5815d47ed5712
parent a2e39c6a
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
@@ -1713,10 +1714,16 @@ public abstract class BaseStatusBar extends SystemUI implements
                sbn.getPackageName() + "/0x" + Integer.toHexString(sbn.getId()), n);
        iconView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

        final Icon smallIcon = n.getSmallIcon();
        if (smallIcon == null) {
            handleNotificationError(sbn,
                    "No small icon in notification from " + sbn.getPackageName());
            return null;
        }
        final StatusBarIcon ic = new StatusBarIcon(
                sbn.getUser(),
                sbn.getPackageName(),
                n.getSmallIcon(),
                smallIcon,
                n.iconLevel,
                n.number,
                n.tickerText);