From aed6b5949ecddd4ab6443eb2c20a36f521bbdeb0 Mon Sep 17 00:00:00 2001 From: Joseph Johnson Date: Wed, 20 Sep 2017 11:33:51 -0700 Subject: Load icon and title from Google ActivityInfo Bug: 65999605 Test: Manual. Tried multiple languages. Change-Id: I6e4c3e9e7c51b5b079ba9fb7722f8b6c35a852ee Merged-In: I6e4c3e9e7c51b5b079ba9fb7722f8b6c35a852ee (cherry picked from commit 4e1b8feb5f34ce6f54feb3fa1d9e2ba0d50e7cd4) --- Settings/src/com/android/tv/settings/MainFragment.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Settings/src/com/android/tv/settings/MainFragment.java b/Settings/src/com/android/tv/settings/MainFragment.java index 9d61b62ec..a48a73409 100644 --- a/Settings/src/com/android/tv/settings/MainFragment.java +++ b/Settings/src/com/android/tv/settings/MainFragment.java @@ -445,16 +445,11 @@ public class MainFragment extends LeanbackPreferenceFragment { final ResolveInfo info = systemIntentIsHandled(getContext(), googleSettingsPref.getIntent()); googleSettingsPref.setVisible(info != null); - if (info != null) { - try { - final Context targetContext = getContext() - .createPackageContext(info.resolvePackageName != null ? - info.resolvePackageName : info.activityInfo.packageName, 0); - googleSettingsPref.setIcon(targetContext.getDrawable(info.iconResourceId)); - } catch (Resources.NotFoundException | PackageManager.NameNotFoundException - | SecurityException e) { - Log.e(TAG, "Google settings icon not found", e); - } + if (info != null && info.activityInfo != null) { + googleSettingsPref.setIcon( + info.activityInfo.loadIcon(getContext().getPackageManager())); + googleSettingsPref.setTitle( + info.activityInfo.loadLabel(getContext().getPackageManager())); } final Preference speechPref = findPreference(KEY_SPEECH_SETTINGS); -- cgit v1.2.3