From: Robin Lee Date: Thu, 26 Feb 2015 12:30:09 +0000 (+0000) Subject: Badge Wi-Fi installer apps X-Git-Tag: android-x86-6.0-r1~891^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0d8879ade7dcd8d92ed07c5e4027d7c5da73f487;p=android-x86%2Fpackages-apps-Settings.git Badge Wi-Fi installer apps Consistent, and more importantly useful to know which version of an app was responsible for installing a network. Change-Id: I37e326f419e03b020e17daa7d65c713d1ea6ddc8 --- diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java index 397543458a..f68410aa58 100644 --- a/src/com/android/settings/wifi/AccessPointPreference.java +++ b/src/com/android/settings/wifi/AccessPointPreference.java @@ -15,12 +15,16 @@ */ package com.android.settings.wifi; +import android.app.AppGlobals; import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.IPackageManager; import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.Drawable; import android.graphics.drawable.StateListDrawable; import android.net.wifi.WifiConfiguration; +import android.os.RemoteException; +import android.os.UserHandle; import android.preference.Preference; import android.view.View; import android.widget.TextView; @@ -71,13 +75,22 @@ public class AccessPointPreference extends Preference { Drawable drawable = pm.getDefaultActivityIcon(); if (mConfig == null) { drawable.setAlpha(0); - } else if (mConfig.creatorName.equals(systemName)) { - drawable = getContext().getApplicationInfo().loadIcon(pm); } else { - try { - drawable = pm.getApplicationIcon(mConfig.creatorName); - } catch (NameNotFoundException nnfe) { - // use default app icon + int userId = UserHandle.getUserId(mConfig.creatorUid); + ApplicationInfo appInfo = null; + if (mConfig.creatorName.equals(systemName)) { + appInfo = getContext().getApplicationInfo(); + } else { + try { + IPackageManager ipm = AppGlobals.getPackageManager(); + appInfo = ipm.getApplicationInfo(mConfig.creatorName, 0 /* flags */, userId); + } catch (RemoteException rex) { + // use default app icon + } + } + if (appInfo != null) { + drawable = appInfo.loadIcon(pm); + drawable = pm.getUserBadgedIcon(drawable, new UserHandle(userId)); } }