Merge "Add support for user-selectable dark/light theme"
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
index eaf932f..3ebc250 100644
--- a/src/com/android/settings/sim/SimSettings.java
+++ b/src/com/android/settings/sim/SimSettings.java
@@ -368,8 +368,14 @@
                 numberView.setText(PhoneNumberUtils.formatNumber(rawNumber));
             }
 
+            final TelephonyManager tm =
+                        (TelephonyManager) getActivity().getSystemService(
+                        Context.TELEPHONY_SERVICE);
+            String simCarrierName = tm.getSimOperatorNameForSubscription(mSubInfoRecord
+                        .getSubscriptionId());
             TextView carrierView = (TextView)dialogLayout.findViewById(R.id.carrier);
-            carrierView.setText(mSubInfoRecord.getCarrierName());
+            carrierView.setText(!TextUtils.isEmpty(simCarrierName) ? simCarrierName :
+                    getContext().getString(com.android.internal.R.string.unknownName));
 
             builder.setTitle(String.format(res.getString(R.string.sim_editor_title),
                     (mSubInfoRecord.getSimSlotIndex() + 1)));
diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java
index 3975434..f68410a 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 @@
         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));
             }
         }