From 96be611e163f6553a0abfbe9cf650f34dba3f213 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 10 May 2016 12:47:37 -0400 Subject: [PATCH] Fix label loading on default home setting Change-Id: Ia7d00eaf48eb703b766c760b6140ea98be5490f1 Fixes: 28668320 --- src/com/android/settings/AppListPreference.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/AppListPreference.java b/src/com/android/settings/AppListPreference.java index b42f17be9c8..61b42606de9 100644 --- a/src/com/android/settings/AppListPreference.java +++ b/src/com/android/settings/AppListPreference.java @@ -17,9 +17,11 @@ package com.android.settings; import android.app.AlertDialog; +import android.app.AppGlobals; import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; +import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -27,6 +29,7 @@ import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; +import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.util.AttributeSet; @@ -195,15 +198,16 @@ public class AppListPreference extends CustomListPreference { int selectedIndex = -1; for (int i = 0; i < componentNames.length; i++) { try { - ApplicationInfo appInfo = pm.getApplicationInfoAsUser( - componentNames[i].getPackageName().toString(), 0, mUserId); - applicationNames.add(appInfo.loadLabel(pm)); + ActivityInfo activityInfo = AppGlobals.getPackageManager().getActivityInfo( + componentNames[i], 0, mUserId); + if (activityInfo == null) continue; + applicationNames.add(activityInfo.loadLabel(pm)); validatedComponentNames.add(componentNames[i].flattenToString()); - entryDrawables.add(appInfo.loadIcon(pm)); + entryDrawables.add(activityInfo.loadIcon(pm)); if (defaultCN != null && componentNames[i].equals(defaultCN)) { selectedIndex = i; } - } catch (NameNotFoundException e) { + } catch (RemoteException e) { // Skip unknown packages. } }