StatusBar: Catch OOM caused by third-party icons

Bug: 31825355
Change-Id: I3e2a8c3da43a572a026ea0bbe1d39234035a4801
Merged-In: I3e2a8c3da43a572a026ea0bbe1d39234035a4801
This commit is contained in:
Adrian Roos
2017-01-31 15:10:00 -08:00
parent e74483074e
commit edca4f5320

View File

@@ -188,9 +188,16 @@ public class StatusBarIconView extends AnimatedImageView {
if (mIcon == null) {
return false;
}
Drawable drawable = getIcon(mIcon);
Drawable drawable;
try {
drawable = getIcon(mIcon);
} catch (OutOfMemoryError e) {
Log.w(TAG, "OOM while inflating " + mIcon.icon + " for slot " + mSlot);
return false;
}
if (drawable == null) {
Log.w(TAG, "No icon for slot " + mSlot);
Log.w(TAG, "No icon for slot " + mSlot + "; " + mIcon.icon);
return false;
}
if (withClear) {