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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user