From a5f6ed355eb19a64fc881f0159b8a8cd3a4fb5f5 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Wed, 22 Jun 2016 09:58:46 -0400 Subject: [PATCH] QS: Fix default icon handling for services Change-Id: I3b25df8b8d02cd99a943571de14cf0a8c5b051bd Fixes: 29452288 --- .../com/android/systemui/qs/customize/TileQueryHelper.java | 2 +- .../src/com/android/systemui/qs/external/CustomTile.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java index 777ed6a41c634..1431b22b654e5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java @@ -155,7 +155,7 @@ public class TileQueryHelper { addTile(spec, appLabel, state, false); continue; } - if (info.serviceInfo.icon == 0) { + if (info.serviceInfo.icon == 0 && info.serviceInfo.applicationInfo.icon == 0) { continue; } Drawable icon = info.serviceInfo.loadIcon(pm); diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java index 46e7277e36d4e..d3f5d2667ebff 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java @@ -84,11 +84,13 @@ public class CustomTile extends QSTile implements TileChangeListen PackageManager pm = mContext.getPackageManager(); ServiceInfo info = pm.getServiceInfo(mComponent, PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE); + int icon = info.icon != 0 ? info.icon + : info.applicationInfo.icon; // Update the icon if its not set or is the default icon. boolean updateIcon = mTile.getIcon() == null || iconEquals(mTile.getIcon(), mDefaultIcon); - mDefaultIcon = info.icon != 0 ? android.graphics.drawable.Icon - .createWithResource(mComponent.getPackageName(), info.icon) : null; + mDefaultIcon = icon != 0 ? android.graphics.drawable.Icon + .createWithResource(mComponent.getPackageName(), icon) : null; if (updateIcon) { mTile.setIcon(mDefaultIcon); }