OSDN Git Service

QS: Fix default icon handling for services
authorJason Monk <jmonk@google.com>
Wed, 22 Jun 2016 13:58:46 +0000 (09:58 -0400)
committerJason Monk <jmonk@google.com>
Wed, 22 Jun 2016 14:00:38 +0000 (10:00 -0400)
Change-Id: I3b25df8b8d02cd99a943571de14cf0a8c5b051bd
Fixes: 29452288

packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java

index 777ed6a..1431b22 100644 (file)
@@ -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);
index 46e7277..d3f5d26 100644 (file)
@@ -84,11 +84,13 @@ public class CustomTile extends QSTile<QSTile.State> 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);
             }